parent
ccdfedbbb6
commit
74d3bef510
@ -1,13 +1,8 @@
|
|||||||
priorities = ((?a..?z).to_a + (?A..?Z).to_a).map.with_index { [_1, _2+1] }.to_h
|
priorities = (?a..?z).chain(?A..?Z).each.with_index.to_h { [_1, _2+1] }
|
||||||
|
input = ARGF.read.lines(chomp: true).map(&:chars)
|
||||||
|
|
||||||
# part 1
|
# part 1
|
||||||
# p ARGF.read.lines(chomp: true).map {|line|
|
p input.sum { priorities.fetch(_1.each_slice(_1.length/2).inject(&:&)[0]) }
|
||||||
# len = line.length
|
|
||||||
# a = line[0...len/2]
|
|
||||||
# b = line[len/2..]
|
|
||||||
# priorities.fetch((a.chars & b.chars)[0])
|
|
||||||
# }.sum
|
|
||||||
|
|
||||||
p ARGF.read.lines(chomp: true).each_slice(3).map {|chunk|
|
# part 2
|
||||||
priorities.fetch(chunk.map(&:chars).inject(&:&)[0])
|
p input.each_slice(3).sum { priorities.fetch(_1.inject(&:&)[0]) }
|
||||||
}.sum
|
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
p ARGF.read.lines(chomp: true)
|
||||||
|
.map { _1.split(?,) }
|
||||||
|
.map {|x| x.map { _1.split(?-).map(&:to_i) }}
|
||||||
|
.map {|(a,b),(x,y)| [(a..b), (x..y)] }
|
||||||
|
# .count {|a,b| (a.cover?(b.begin) && a.cover?(b.end)) || (b.cover?(a.begin) && b.cover?(a.end)) }
|
||||||
|
.count {|a,b| (a.cover?(b.begin) || a.cover?(b.end)) || (b.cover?(a.begin) || b.cover?(a.end)) }
|
Loading…
Reference in new issue