차집합으로 없는 숫자를 o(1)에 구하고, 기본 내장함수 sum(iterable)로 집합 원소의 합을 구함
def solution(numbers):
numset = set([i for i in range(10)]) - set(numbers)
return sum(numset)
해시 유형이라는데 아직 해시 풀이법은 모르겠다.
효율성 TC 3,4에서 시간초과
-> 길이로 sort하고 n번 반복하여 비교 기준과 대상의 접두부가 일치하는지 비교하는 것에서 초과
=> 문자열 리스트를 sort하면 큰 자리수가 작은 것부터, 그 다음엔 길이 순으로 오름차순 정렬됨.
즉, 정렬후 인접한 문자열이 접두어가 될 후보.
def solution(phone_book):
phone_book.sort()
for i,word in enumerate(phone_book[1:]):
if phone_book[i] == word[:len(phone_book[i])]:
return False
return True