A배열의 길이가 0일 때는 return 1
을 해준다.
왜냐면 element array 범위가 [1,N+1]이고 N의 범위는 [0...100,0000] 이기 때문에 길이가 0이면 N+1 을 return 해줘야 했다.
그리고 처음 풀 때는 항상 한 개의 element가 빠져 있는 줄 알았는데 연속할 경우의 수도 생각해 주었어야 했다.
그래서 [1,2,3,4]
처럼 연속한 형태일 때는 N+1
을 return 한다.
def solution(A):
A.sort()
if len(A) == 0:
return 1
for i in range(len(A)):
if A[i] != i+1:
return i+1
return len(A)+1
항상 예외 처리에 신경 써야겠다.