31 lines
505 B
Ruby
31 lines
505 B
Ruby
def valid(str, p2)
|
|
(1..str.size / 2).each do |i|
|
|
sub = str[0, i]
|
|
return false if str[i..] == sub
|
|
|
|
if p2 && str.size > 2
|
|
chunks = str[i..].chars.each_slice(sub.size).map(&:join)
|
|
puts chunks
|
|
end
|
|
end
|
|
true
|
|
end
|
|
|
|
input = File.read('input/test').split(',')
|
|
p1 = 0
|
|
p2 = 0
|
|
|
|
input.each do |line|
|
|
sp = line.split('-')
|
|
a = sp[0].to_i
|
|
b = sp[1].to_i
|
|
|
|
(a..b).each do |i|
|
|
p1 += i unless valid(i.to_s, false)
|
|
p2 += i unless valid(i.to_s, true)
|
|
end
|
|
end
|
|
|
|
puts p1
|
|
puts p2
|