목록PS/Python (269)
지나가던 개발자
print(str(bin(int(input())))[2:]) 파이썬의 bin() 함수를 이용했다.
파이썬의 in 기능을 활용하면 풀릴 것 같아 그렇게 풀었더니 시간 초과가 떴다. 그래서 보니 이 문제는 이진 탐색 알고리즘을 사용해야 풀리는 문제였다. 이진 검색 알고리즘(binary search algorithm)은 오름차순으로 정렬된 리스트에서 특정한 값의 위치를 찾는 알고리즘이다. 처음 중간의 값을 임의의 값으로 선택하여, 그 값과 찾고자 하는 값의 크고 작음을 비교하는 방식을 채택하고 있다. 처음 선택한 중앙값이 만약 찾는 값보다 크면 그 값은 새로운 최댓값이 되며, 작으면 그 값은 새로운 최솟값이 된다. 검색 원리상 정렬된 리스트에만 사용할 수 있다는 단점이 있지만, 검색이 반복될 때마다 목표값을 찾을 확률은 두 배가 되므로 속도가 빠르다는 장점이 있다. 위키백과에서 인용했다. 이진 검색 알고리..
조교가 사디스트라니... answer = [] for i in range(1, int(input())+1): answer.append(i) hihi = list(map(int, input().split())) sorry = 0 for i in range(len(answer)): if hihi[i] != answer[i]: sorry += 1 print(sorry) 맞게 되어 유감이라는 뜻을 담아 변수명을 sorry로 지정했다.
짐승의 숫자는 기독교의 경전인 신약성경의 요한묵시록에서 ‘짐승’을 언급할 때 나온 특정 개념이다. 구글에 666이라고 쳐보니 위키백과의 문서가 나왔다. 알고리즘 공부와 더불어 잡지식까지 주는 백준 최고! a = int(input()) b = 0 i = 666 while True: if "666" in str(i): b += 1 if b == a: break i += 1 print(i) 666이 연속으로 있는 숫자를 순서대로 찾는 알고리즘이었다. 어라라.
a = input().split('-') for i in range(len(a)): print(list(a[i])[0], end='') end=''는 정말 편하다. split()도 편하다. 파이썬이 좋다.
def is_prime(n): if n == 1: return False if n % 2 == 0: if n == 2: return True return False if n % 3 == 0: if n == 3: return True return False if n % 5 == 0: if n == 5: return True return False if n % 7 == 0: if n == 7: return True return False if n % 11 == 0: if n == 11: return True return False if n % 13 == 0: if n == 13: return True return False if n % 17 == 0: if n == 17: return True return ..
words = [] for i in range(int(input())): words.append(input()) words = list(set(words)) words.sort() words.sort(key=len) for word in words: print(word) 리스트.sort(key=len)은 리스트를 길이를 기준으로 정렬하고, 리스트.sort()는 리스트를 알파벳을 기준으로 정렬한다.
회문(回文) 또는 팰린드롬(palindrome)은 거꾸로 읽어도 제대로 읽는 것과 같은 문장이나 낱말, 숫자, 문자열(sequence of characters) 등이다. 보통 낱말 사이에 있는 띄어쓰기나 문장 부호는 무시한다. 위키백과에서 인용했다. 이 문제는 입력받은 수가 팰린드롬인가 아닌가를 판별하는 문제이다. test_case = [] while True: test_case.append(input()) if test_case[-1] == "0": del test_case[-1] break for i in range(len(test_case)): if "".join(reversed(list(test_case[i]))) == test_case[i]: print("yes") continue print("..