codility-MissingInteger
2020. 3. 29. 22:55ㆍ개발노트
https://app.codility.com/c/run/trainingJUYYB4-AA7/
N개의 상수로 이루어진 리스트 A가 있을 때
A 안에 없는 가장 작은 자연수(0보다 큰 수)를 리턴한다.
def solution(A):
check = [False] * len(A)
for value in A:
# 0보다 크고 len(A)보다 작을 때
#check 값을 True로 바꿔준다.
if 0 < value <= len(A):
check[value-1] = True
for idx in range(len(check)):
#체크되지 않은 값이 있을 경우
#그 값의 + 1을 리턴한다.
if check[idx] == False:
return idx + 1
#그렇지 않으면 A길이 + 1을 리턴한다.
return len(A)+1
check 배열을 만들어서 A에 있는 요소인지 체크
for문을 돌며 체크되지 않은 값이 있으면 return idx + 1한다.
음수만 있는 리스트인 경우에도 check배열은 생성된 상태이므로 return idx + 1 한다.
그렇지 않은 경우는 A의 길이 + 1값을 리턴한다.