use subsript :D
This commit is contained in:
parent
40682f6cb6
commit
8bfc4fec97
24
src/day_3.jl
24
src/day_3.jl
@ -18,23 +18,23 @@ end
|
||||
function p2(input::Vector{String})
|
||||
i1 = copy(input)
|
||||
i2 = copy(input)
|
||||
ox = ""
|
||||
co = ""
|
||||
o₂ = ""
|
||||
co₂ = ""
|
||||
for i in 1:length(input[1])
|
||||
oxbits = map(x -> parse(Int, x[i]), i1)
|
||||
cobits = map(x -> parse(Int, x[i]), i2)
|
||||
o₂bits = map(x -> parse(Int, x[i]), i1)
|
||||
co₂bits = map(x -> parse(Int, x[i]), i2)
|
||||
|
||||
oxmc = sum(oxbits) >= length(oxbits) / 2 ? '1' : '0'
|
||||
comc = sum(cobits) >= length(cobits) / 2 ? '0' : '1'
|
||||
o₂mc = sum(o₂bits) >= length(o₂bits) / 2 ? '1' : '0'
|
||||
co₂mc = sum(co₂bits) >= length(co₂bits) / 2 ? '0' : '1'
|
||||
|
||||
filter!(x -> x[i] == oxmc, i1)
|
||||
filter!(x -> x[i] == comc, i2)
|
||||
filter!(x -> x[i] == o₂mc, i1)
|
||||
filter!(x -> x[i] == co₂mc, i2)
|
||||
|
||||
length(i1) == 1 && ox == "" ? (ox = i1[1]) : nothing
|
||||
length(i2) == 1 && co == "" ? (co = i2[1]) : nothing
|
||||
ox != "" && co != "" ? break : continue
|
||||
length(i1) == 1 && o₂ == "" ? (o₂ = i1[1]) : nothing
|
||||
length(i2) == 1 && co₂ == "" ? (co₂ = i2[1]) : nothing
|
||||
o₂ != "" && co₂ != "" ? break : continue
|
||||
end
|
||||
parse(Int, ox; base=2) * parse(Int, co; base=2)
|
||||
parse(Int, o₂; base=2) * parse(Int, co₂; base=2)
|
||||
end
|
||||
|
||||
@aoc(2021, 3)
|
||||
|
Loading…
x
Reference in New Issue
Block a user