Skip to content

Commit 86e7667

Browse files
committed
Day 1 solutions
1 parent fd4e01b commit 86e7667

File tree

4 files changed

+67
-0
lines changed

4 files changed

+67
-0
lines changed

01-1.py

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/usr/bin/env python
2+
3+
from functools import reduce
4+
5+
lines = [row.strip() for row in open('01.input').readlines()]
6+
7+
left = []
8+
right = []
9+
10+
for line in lines:
11+
l, r = line.split()
12+
left.append(int(l))
13+
right.append(int(r))
14+
15+
left.sort()
16+
right.sort()
17+
18+
print(reduce(lambda x, y: x + y, map(lambda lr: abs(lr[0] - lr[1]), zip(left, right))))

01-1.rb

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/usr/bin/env ruby
2+
3+
lines = File.read('01.input').lines.map(&:strip)
4+
5+
left = []
6+
right = []
7+
8+
lines.each do |line|
9+
l, r = line.split
10+
left << l.to_i
11+
right << r.to_i
12+
end
13+
14+
left.sort!
15+
right.sort!
16+
17+
puts left.zip(right).map { |l, r| (l - r).abs }.reduce &:+

01-2.py

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/usr/bin/env python
2+
3+
from functools import reduce
4+
5+
lines = [row.strip() for row in open('01.input').readlines()]
6+
7+
left = []
8+
right = []
9+
10+
for line in lines:
11+
l, r = line.split()
12+
left.append(int(l))
13+
right.append(int(r))
14+
15+
left.sort()
16+
right.sort()
17+
18+
print(reduce(lambda x, y: x + y, map(lambda l: l * right.count(l), left)))

01-2.rb

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/usr/bin/env ruby
2+
3+
lines = File.read('01.input').lines.map(&:strip)
4+
5+
left = []
6+
right = []
7+
8+
lines.each do |line|
9+
l, r = line.split
10+
left << l.to_i
11+
right << r.to_i
12+
end
13+
14+
puts left.map { |l| l * right.count(l) }.reduce &:+

0 commit comments

Comments
 (0)