24 lines
423 B
Ruby
24 lines
423 B
Ruby
|
input = STDIN.read.chomp
|
||
|
columns = input
|
||
|
.split("\n")
|
||
|
.map{ |line| line.split("") }
|
||
|
.transpose
|
||
|
|
||
|
part_1 = columns.map do |column|
|
||
|
column
|
||
|
.group_by(&:itself)
|
||
|
.sort_by { |k, v| v.count }
|
||
|
.last[0]
|
||
|
end.join
|
||
|
|
||
|
puts "Part 1: #{part_1}"
|
||
|
|
||
|
part_2 = columns.map do |column|
|
||
|
column
|
||
|
.group_by(&:itself)
|
||
|
.sort_by { |k, v| v.count }
|
||
|
.first[0]
|
||
|
end.join
|
||
|
|
||
|
puts "Part 2: #{part_2}"
|