

n = int(input()) # 1차에서 팔린 티켓들의 수
nums = sorted(list(map(int, input().split())))
isSame = True
for i in range(n):
if (i + 1) != nums[i]:
print(i + 1)
isSame = False
break
if isSame: # 숫자가 같을 경우 ex) 번호가 5개인데 1 2 3 4 5일때 for문에서도 1 2 3 4 5 순으로 같기 때문에
print(n + 1)
정렬을 사용해 풀 수 있는 문제다.
티켓 번호 5개를 4, 1, 2, 7, 8 이렇게 받았다면 1, 2, 4, 7, 8으로 정렬하고 for문으로 5개를 검사하는데 인덱스는 0부터 시작이므로 +1을 해주어서 1부터 5까지 값이 같은지 확인을 한다
예를 들어, 위의 예시라면 1, 2 까지는 인덱스와 값이 같지만 3과 4는 다르기 때문에 반복문 안에서 if 조건에 걸리면 인덱스 값을 출력해주고 break로 빠져나온다 !
반대로, 1 2 3 4 5 이렇게 5개를 받을 경우 for문 안에서는 인덱스 번호와 전부 같은 숫자이기 때문에 걸리지 않아서 for문의 if구문에서 전부 일치한지 여부에 대한 isSame 변수를 만들어 준 후, if에서 걸리면 false로 바꿔주었다.
이렇게 isSame이 True라면(for문에서 if에 걸리지 않는다면) n+1값을 출력하도록 했다.