집계 계약

짧은 빈도 코드도 키, 갱신, 출력 순서를 계약으로 고정한다

구현은 몇 줄이어도 계약이 없으면 결측, 동점, 정렬 순서에서 결과가 흔들립니다. 아래 3줄을 테스트 기준으로 둡니다.

계약
코드 기준
검산 질문
1. key 모든 비교는 정규화 키로만 한다
key = normalize(raw)
" Apple ""apple"이 같은가?
2. update 없는 키는 0에서 시작해 1씩 누적한다
freq[key] = (freq[key] ?? 0) + 1
빈 입력과 첫 등장이 안전한가?
3. output 동점일 때도 같은 순서로 낸다
count desc, key asc
같은 입력을 두 번 실행해도 출력이 같은가?
PASS 조건 결측값 정책 skip empty key
PASS 조건 중복 임계치 count >= 2
PASS 조건 Top-K 동점 (count, key)