Menu
CoddyTech

Ôn tập: Bộ đếm tần suất

Thuộc phần Logic và luồng xử lý trong hành trình Ruby của Coddy. Bài học 37 trên 56.

Kết hợp từ điển có giá trị mặc định, lần lặp và sắp xếp từ các chương trước trong một thử thách kinh điển: báo cáo tần suất từ.

challenge icon

Thử thách

Trung bình

Đọc một dòng đầu vào, là một câu. Tạo một ánh xạ Hash.new(0) cho mỗi từ (tách theo khoảng trắng, chuyển thành chữ thường) với tần suất xuất hiện của từ đó.

Sau đó, in ra:

  1. Tổng số từ duy nhất
  2. Mỗi từ trên một dòng, theo thứ tự tần suất giảm dần (nếu bằng nhau, sắp xếp theo thứ tự bảng chữ cái của từ), theo định dạng này: <word>: <count>

Với đầu vào the quick brown fox jumps over the lazy dog the dog, đầu ra là:

8
the: 3
dog: 2
brown: 1
fox: 1
jumps: 1
lazy: 1
over: 1
quick: 1

Tự làm thử

input = gets.chomp

# TODO: tạo Hash.new(0) để đếm số lần xuất hiện của từng từ, rồi in ra:
#   1) số từ khác nhau
#   2) các mục được sắp xếp theo count giảm dần; nếu cùng count thì theo word tăng dần

Tất cả bài học trong Logic và luồng xử lý

Tự luyện tập: Trình biên dịch Ruby online