도서관 반납함에 책이 들어올 때마다 바코드 리더가 도서 코드를 하나씩 읽어 기록합니다.
기록은 읽힌 순서대로 codes 배열에 담겨 있습니다.
이미 읽은 적 있는 도서 코드가 또 읽혔다면 같은 책이 두 번 스캔된 것이므로 그 시점에서 경고를 띄워야 합니다.
앞에서부터 읽어 나갈 때 경고가 처음으로 발생하는 인덱스 를 반환하는
solution(codes) 함수를 작성하세요. 끝까지 그런 코드가 없으면 -1을 반환합니다.
반환하는 인덱스는 뒤에 다시 등장한 쪽 의 인덱스입니다.
codes=["B103","B441","B207","B103","B441"] → 3
인덱스 3의 "B103"은 인덱스 0에서 이미 읽힌 코드다.
"B441"도 중복이지만 더 뒤(인덱스 4)에서 확정되므로 답이 아니다.
codes=["A11","A12","A13"] → -1
모든 코드가 서로 다르다.
codes=["Z9","Z9"] → 1
codes=["Q1","Q2","Q1","Q2"] → 2시간 복잡도 목표: O(N)
▶ 실행은 기록 없이 채점만, 제출은 결과가 진행률·오답노트에 기록됩니다.