[Codility] FrogRiverOne

hyeon·2021년 2월 22일
0

Codility

목록 보기
7/18

def solution(X, A):
    check = X * [False]
    sum = 0

    for i, a in enumerate(A):
        if check[a-1] == False:
        	sum +=1
        	check[a-1] = True
        if sum == X:
            return i
    return -1
  • sum()을 사용하는 것 보다 1씩 증가시켜 카운트하는 것이 time complexity를 줄일 수 있음.
  • array space 크기 고려
def solution(X, A):
    check = set()
    for i, a in enumerate(A):
        check.add(a)
        if len(check) == X:
            return i
    return -1
  • list를 set으로 바꾸는 것보다 set으로 지정하여 원소를 add하는 것이 time complexity를 줄일 수 있다.
profile
바스락바스락

0개의 댓글