1
def move_pointer(pointer, count, ins)
2
while ins < 0
3
pointer = (pointer - 1) % 100
4
count += 1 if pointer == 0
5
ins += 1
6
end
7
while ins > 0
8
pointer = (pointer + 1) % 100
9
count += 1 if pointer == 0
10
ins -= 1
11
end
12
13
[pointer, count]
14
end
15
16
x = File.read("input").split("\n")
17
18
# x = %w(L49 L2 R2)
19
20
p(x.reduce([50, 0]) do |(pointer, count), ins|
21
move_pointer(pointer, count, ins[1..].to_i * {"R"=>1,"L"=>-1}[ins[0]])
22
end)
23