Daily iOS
CS 기초·알고리즘

메모리보다 큰 데이터의 중복 제거

한 줄에 URL 하나씩 담긴 1TB 로그 파일에서 중복 URL을 제거해야 하는데 쓸 수 있는 메모리는 1GB뿐입니다. 어떻게 하겠습니까?

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

URL 해시를 기준으로 파일을 메모리에 들어갈 크기의 조각(예: 2000개)으로 분할(hash partitioning)하면 같은 URL은 반드시 같은 조각에 모이므로, 조각마다 메모리 Set으로 중복 제거 후 합친다. 근사 허용이면 블룸 필터로 한 번에 처리. 외부 정렬 후 인접 비교도 가능.

받은 질문 공유