CS 기초·알고리즘
HashMap과 Set의 복잡도 선택
한 시간짜리 코딩 테스트에서 고객 ID 목록의 중복을 찾고 각 ID의 등장 횟수도 세야 합니다. Swift Set과 Dictionary를 각각 언제 쓰겠습니까?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
한 시간짜리 코딩 테스트에서 고객 ID 목록의 중복을 찾고 각 ID의 등장 횟수도 세야 합니다. Swift Set과 Dictionary를 각각 언제 쓰겠습니까?
이미 봤는지만 알면 되는 중복 판별은 Set에 insert하면서 삽입이 거부되는 순간을 잡고, 횟수처럼 키마다 값이 필요하면 Dictionary에 ID를 키로 두고 default 0에서 1씩 더해 센다. 둘 다 삽입과 조회가 평균 O(1)이라 전체는 한 번 훑어 O(n)이다.
CS 기초·알고리즘객관식입문
다음 Swift 컬렉션 연산 중 평균 시간 복잡도가 O(1)인 것을 모두 고르세요.
#set #complexity
성능·디버깅객관식입문
같은 원소 10만 개를 담았을 때, Array보다 Set(NSSet)이 확실히 빠른 연산을 모두 고르세요.
#set #complexity
CS 기초·알고리즘객관식입문
채팅 화면의 메시지 목록을 담을 자료구조를 고릅니다. 연결 리스트보다 Swift Array가 유리한 이유로 가장 정확한 것은?
#complexity
CS 기초·알고리즘주관식기초
실시간 피드에서 새 게시물이 도착할 때마다 posts.insert(newPost, at: 0)을 호출합니다. 게시물이 5만 개 쌓이면 어떤 문제가 생기나요?
#complexity