YUDA't

0. 문제

N개의 상수로 이루어진 리스트 A가 있다.

이때 A 안에 '없는' 가장 '작은' 자연수(0보다 큰)를 리턴한다.


1. 답변

def solution(A):
    if max(A) < 1:
        return 1
    else:
        sorted_a = sorted(set([a for a in A if a > 0]))
        for idx, val in enumerate(sorted_a, 1):
            if idx != val:
                return idx
        return sorted_a[-1]+1


음 쉬웠음

시간복잡도 O(N) 혹은 O(N * log(N))

'개발 > 알고리즘 문제' 카테고리의 다른 글

[Codility] CountDiv  (0) 2017.11.14
[Codility] MaxCounters  (0) 2017.11.13
[Codility] MissingInteger  (0) 2017.11.12
[Codility] FrogRiverOne  (0) 2017.11.10
[Codility] PermCheck  (0) 2017.11.09
[Codility] FrogJmp  (0) 2017.11.07