use subsript :D

This commit is contained in:
Patrick Michl 2021-12-03 10:11:38 +01:00
parent 40682f6cb6
commit 8bfc4fec97

View File

@ -18,23 +18,23 @@ end
function p2(input::Vector{String}) function p2(input::Vector{String})
i1 = copy(input) i1 = copy(input)
i2 = copy(input) i2 = copy(input)
ox = "" o = ""
co = "" co = ""
for i in 1:length(input[1]) for i in 1:length(input[1])
oxbits = map(x -> parse(Int, x[i]), i1) obits = map(x -> parse(Int, x[i]), i1)
cobits = map(x -> parse(Int, x[i]), i2) cobits = map(x -> parse(Int, x[i]), i2)
oxmc = sum(oxbits) >= length(oxbits) / 2 ? '1' : '0' o₂mc = sum(o₂bits) >= length(o₂bits) / 2 ? '1' : '0'
comc = sum(cobits) >= length(cobits) / 2 ? '0' : '1' comc = sum(cobits) >= length(cobits) / 2 ? '0' : '1'
filter!(x -> x[i] == oxmc, i1) filter!(x -> x[i] == omc, i1)
filter!(x -> x[i] == comc, i2) filter!(x -> x[i] == comc, i2)
length(i1) == 1 && ox == "" ? (ox = i1[1]) : nothing length(i1) == 1 && o== "" ? (o₂ = i1[1]) : nothing
length(i2) == 1 && co == "" ? (co = i2[1]) : nothing length(i2) == 1 && co == "" ? (co = i2[1]) : nothing
ox != "" && co != "" ? break : continue o != "" && co != "" ? break : continue
end end
parse(Int, ox; base=2) * parse(Int, co; base=2) parse(Int, o; base=2) * parse(Int, co; base=2)
end end
@aoc(2021, 3) @aoc(2021, 3)