Clean up day 5.
This commit is contained in:
parent
3d5c13cf6a
commit
0ba970d517
17
day5.cr
17
day5.cr
|
@ -14,32 +14,23 @@ end
|
|||
def get_id(str)
|
||||
col = str[0..6]
|
||||
row = str[7..]
|
||||
{partition(col, (0..127).to_a)[0], partition(row, (0..7).to_a)[0]}
|
||||
id({partition(col, (0..127).to_a)[0], partition(row, (0..7).to_a)[0]})
|
||||
end
|
||||
|
||||
def id(t)
|
||||
r, c = t
|
||||
r * 8 + c
|
||||
t[0]*8 + t[1]
|
||||
end
|
||||
|
||||
def part1
|
||||
input = INPUT.clone
|
||||
max = input.max_of do |line|
|
||||
r, c = get_id(line)
|
||||
r * 8 + c
|
||||
end
|
||||
puts max
|
||||
puts(input.max_of &->get_id(String))
|
||||
end
|
||||
|
||||
def part2
|
||||
input = INPUT.clone
|
||||
seen = Set(Int32).new
|
||||
max = input.each do |line|
|
||||
seen << id(get_id(line))
|
||||
end
|
||||
seen = input.map &->get_id(String)
|
||||
candidates = [] of Int32
|
||||
128.times do |r|
|
||||
next if r == 0 || r == 127
|
||||
8.times do |c|
|
||||
next if seen.includes? id({r, c})
|
||||
candidates << id({r,c})
|
||||
|
|
Loading…
Reference in New Issue
Block a user