Structure Change

조회 구조를 바꾸면 데이터 정책도 같이 이동한다

리스트를 해시 집합으로 바꾸면 평균 조회는 빨라지지만 중복, 순서, 키 정규화, 관찰 가능성은 새 기준으로 다시 확인해야 합니다.

조회 비용 사용자마다 앞에서부터 비교한다. 비용은 O(N). 키로 바로 찾는다. 평균 비용은 O(1).
중복 같은 사용자가 여러 번 있어도 그대로 남는다. 같은 키는 하나로 합쳐진다. 횟수는 Map이 필요하다.
순서 입력 순서가 자연스럽게 보존된다. 정렬 출력이 필요하면 별도 정렬 단계를 둔다.
키 정규화 문자열 그대로 비교해도 차이가 드러난다. 공백, 대소문자, 별칭 규칙을 먼저 통일한다.
관찰 가능성 몇 번째 원소에서 찾았는지 추적하기 쉽다. 조회 키와 선택 이유를 로그로 따로 남긴다.
선택 조건

조회 90%, 정렬 출력 없음

중복 무시가 가능하면 해시 집합을 우선 후보로 둔다.

보완 구조

횟수는 Map, 순서는 정렬

해시 집합이 잃는 정보를 요구사항별 보조 구조로 채운다.

검증 입력

대소문자, 공백, 중복, 대량 입력

정책 변화가 실제 제출 품질을 깨지 않는지 한 번에 확인한다.

요구사항이 바뀌는 지점

정렬 출력이나 범위 검색이 추가되면 트리 또는 정렬 단계가 후보로 올라온다.

테스트가 잡아야 할 지점

대소문자, 공백, 중복, 100만 건 입력을 한 번에 넣어 교체 효과를 본다.