Menu
CoddyTech

Phân tích từ

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

Một thử thách độc lập kết hợp chuỗi, hash, Hash.new(0) và các phương thức Enumerable cùng lúc.

challenge icon

Thử thách

Trung bình

Đọc một dòng đầu vào, là một câu. Phân tích câu đó và in ra ba dòng:

  1. Số từ duy nhất (không phân biệt chữ hoa, chữ thường và đã loại bỏ dấu câu). Mỗi từ lặp lại chỉ được tính một lần.
  2. Các từ lặp lại (xuất hiện nhiều hơn một lần), được sắp xếp theo thứ tự bảng chữ cái và nối bằng , . Nếu không có từ nào, in (none).
  3. Các từ palindrome, tức là những từ đọc xuôi và ngược giống nhau, có độ dài ≥ 2, được sắp xếp theo thứ tự bảng chữ cái và nối bằng , . Nếu không có từ nào, in (none).

Loại bỏ các ký tự .,!?:;"() khỏi mỗi từ trước khi xử lý. Chuyển tất cả thành chữ thường để so sánh.

Với đầu vào Madam saw a racecar. Dad said hello hello to mom., đầu ra là:

9
hello
dad, madam, mom, racecar

Tự làm thử

input = gets.chomp

# TODO: tách từ, bỏ dấu câu, chuyển thành chữ thường, rồi in ra:
#   số từ khác nhau, các từ lặp lại, các từ đọc xuôi ngược như nhau (độ dài >= 2)
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiế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