집합의 빠른 존재 확인과 리스트의 순서 보존을 함께 사용하는 법을 익히기 위한 문제입니다. 자료구조 하나로 부족할 때 조합하는 사고를 연습합니다.
정수 리스트에서 중복을 제거하되, 각 값이 처음 등장한 순서는 유지한 새 리스트를 반환하세요.
unique_in_order(numbers)
평균 시간 O(n), 공간 O(k)
실행하면 아래 순서대로 채점합니다. print() 출력도 이 순서대로 쌓입니다.
| # | 이름 | numbers | 기대값 |
|---|---|---|---|
| 1 | 순서 유지 | [3, 1, 3, 2, 1, 4] | [3, 1, 2, 4] |
| 2 | 모두 같은 값 | [5, 5, 5] | [5] |
| 3 | 빈 리스트 | [] | [] |
| 4 | 중복 없는 입력 | [4, 2, 9] | [4, 2, 9] |
| 5 | 앞뒤 반복 | [1, 2, 1, 3, 2] | [1, 2, 3] |
Python 표준 라이브러리는 사용할 수 있습니다. 함수 이름과 매개변수는 제시된 형태를 유지하세요.
dict / set)dict.get(key, 0)과 set을 익혀두면 중첩 반복을 줄일 수 있습니다.코드를 작성하고 실행하면 5개의 테스트가 각각 표시됩니다.