Daily iOS
CS 기초·알고리즘

HashMap과 Set의 복잡도 선택

한 시간짜리 코딩 테스트에서 고객 ID 목록의 중복을 찾고 각 ID의 등장 횟수도 세야 합니다. Swift Set과 Dictionary를 각각 언제 쓰겠습니까?

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

이미 봤는지만 알면 되는 중복 판별은 Set에 insert하면서 삽입이 거부되는 순간을 잡고, 횟수처럼 키마다 값이 필요하면 Dictionary에 ID를 키로 두고 default 0에서 1씩 더해 센다. 둘 다 삽입과 조회가 평균 O(1)이라 전체는 한 번 훑어 O(n)이다.

받은 질문 공유