counts = {}

readlines.each do |line|
  line
  .chomp
  .delete(',.!?;:\-"[]')
  .downcase
  .split(' ')
  .each do |word|
    if counts[word]
      counts[word] = counts[word] + 1  # word_count[word] += 1
    elsif word != ''
      counts[word] = 1
    end
  end
end

puts
puts "Word Count"
puts "=========="
puts
puts "word              count"
counts.keys.sort.each do |word|
  print "\"#{word}\"".ljust(20)
  puts counts[word].to_s.rjust(3)
end

# 発展問題
puts
puts "Word Count"
puts "=========="
puts
puts "word              count"

max_count = counts.values.max
max_count.downto(1) do |how_many|
  counts.keys.sort.each do |word|
    if counts[word] == how_many
      print "\"#{word}\"".ljust(20)
      puts counts[word].to_s.rjust(3)
    end
  end
end
