복습 - 빈도 카운터
Coddy Ruby 여정의 로직 및 흐름 섹션에 포함된 레슨 — 56개 중 37번째.
이전 장들에서 다룬 기본값을 가진 해시, 반복, 정렬을 한데 모아 고전적인 도전 과제인 단어 빈도 보고서를 작성해 보겠습니다.
챌린지
중급입력으로 문장 한 줄을 읽습니다. 각 단어(공백으로 분리하고 소문자로 변환)를 빈도수에 매핑하는 Hash.new(0)를 만듭니다.
그런 다음 다음을 출력합니다:
- 고유한 단어의 총 개수
- 빈도수 기준 내림차순으로(빈도수가 같으면 단어의 알파벳 순으로) 단어당 한 줄씩 다음 형식으로 출력합니다:
<word>: <count>
입력 the quick brown fox jumps over the lazy dog the dog에 대한 출력은 다음과 같습니다:
8
the: 3
dog: 2
brown: 1
fox: 1
jumps: 1
lazy: 1
over: 1
quick: 1직접 해보기
input = gets.chomp
# TODO: 단어 → 빈도수의 Hash.new(0)를 생성한 후, 다음을 출력하세요:
# 1) 고유 단어의 수
# 2) 빈도수 내림차순으로 정렬된 항목들, 빈도수가 같으면 단어 오름차순으로 정렬