본문 바로가기
개발/알고리즘

[codility] MissingInteger

by ny0011 2021. 2. 17.
반응형

app.codility.com/programmers/lessons/4-counting_elements/missing_integer/

 

MissingInteger coding task - Learn to Code - Codility

Find the smallest positive integer that does not occur in a given sequence.

app.codility.com

먼저 정렬부터 하고  

- 음수만 있을 땐 1이 제일 최소

- 딕셔너리 타입 d 하나 만들어서 양수일 때만 값을 정의한다

d의 key들 중 p와 다른 것이 있으면 리턴

 

1중 for문이지만 정렬이 들어갔으니 O(N * log(N))이다

def solution(A):
    # write your code in Python 3.6
    a = sorted(A)
    if a[-1] < 0:
        return 1

    d={}
    for i in a:
        if i > 0:
            d[i] = True

    p = 1
    for i in d.keys():
        if p == i:
            p+=1
        else:
            return p
    return p

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

[codility] GenomicRangeQuery  (0) 2021.02.18
[codility] PermCheck  (0) 2021.02.17
[codility]FrogRiverOne  (0) 2021.02.17
[codility] TapeEquilibrium  (0) 2021.02.16
[codility]PermMissingElem  (0) 2021.02.16

댓글