Exercise Runbook
해시맵 연습문제는 명령을 자료구조 변화로 번역한다
부서별 직원 목록 문제는 입력 문장을 파싱하고, 부서를 키로 삼고, 이름 목록을 정렬해 보여주는 작은 데이터 흐름이다.
저장 모델
Key
부서 이름, 예: Engineering
Value
직원 이름 목록, 예: Vec<String>
Update
entry로 없으면 만들고 있으면 추가한다.
01
입력 분해
Add Sally to Engineering에서 동사, 이름, 부서를 분리한다.
02
키 선택
부서를 해시맵 키로 두면 부서별 조회가 바로 맞아떨어진다.
03
목록 갱신
없던 부서는 새 벡터를 만들고, 있던 부서는 이름을 추가한다.
04
정렬 출력
부서별 또는 전체 목록을 보여주기 전에 알파벳 순서로 정렬한다.
문제 핵심 컬렉션 주의점
중간값 Vec 정렬 후 가운데 인덱스를 읽는다.
최빈값 HashMap<값, 횟수> entry로 카운트를 누적한다.
피그 라틴 String, chars UTF-8 문자 경계를 무시하지 않는다.
입력 검증
명령 형식이 틀리면 맵을 바꾸기 전에 거절한다.
소유권
저장할 이름과 부서는 맵이 소유할 문자열로 두는 편이 단순하다.
출력 안정성
해시맵 순서는 임의이므로 보여줄 때 명시적으로 정렬한다.