Problem : 숫자 카드
유형 : 해싱, 이분 탐색
문제 해석
- 숫자가 몇번 등장했는지 확인하라
문제 재해석
- 숫자의 범위가
20억
이다. - 하지만 등장하는 숫자 카드의 종 개수는
50만
개 이다.
해결 전략
해싱
해싱
을 이용하여, 해당 숫자가 몇번 등장했는지 카운트 한다.
이진 탐색
- 정렬 한다.
- 해당 숫자가 등장하기 시작한 곳,
- 해당 숫자보다 큰 숫자가 나오기 시작한 곳의 거리를 잰다.
설계, 구현
unordered_map
을 이용했다.lower, upper_bound
를 이용했다.- 찾는 숫자가 없는 경우도 존재 할 수 있는 경우는 예외 처리 해주었다.
- 사실 따로 예외 처리를 하지 않고, 거리의 차를 구해도 결과는 동일하다.
주의할 점
- 없음
코드 (10816)
1 |
|
코드 (10815)
1 |
|
피드백
- 없음