m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Chrzanowski <marcin.j.chrzanowski@gmail.com>2020-12-25 15:15:18 +0100
committerMarcin Chrzanowski <marcin.j.chrzanowski@gmail.com>2020-12-25 15:15:18 +0100
commit8ef384f47d69ce346a523cc76f334b89712e8cab (patch)
treecfb35c9c252eff2692d5ad2750ccf8b63e5fb1e1
parent8216a91439c30ba2c6f57a49be2daef7ec6e596c (diff)
Add day 5
-rw-r--r--05/a.rb11
-rw-r--r--05/b.rb15
2 files changed, 26 insertions, 0 deletions
diff --git a/05/a.rb b/05/a.rb
new file mode 100644
index 0000000..877abb9
--- /dev/null
+++ b/05/a.rb
@@ -0,0 +1,11 @@
+max = 0
+File.readlines('input.txt').map do |line|
+ line.tr('FBLR', '0101')
+end.each do |line|
+ row = line.slice(0, 7).to_i 2
+ seat = line.slice(7, 3).to_i 2
+ id = row * 8 + seat
+ max = [id, max].max
+end
+
+puts max
diff --git a/05/b.rb b/05/b.rb
new file mode 100644
index 0000000..378f7c6
--- /dev/null
+++ b/05/b.rb
@@ -0,0 +1,15 @@
+missing = 0
+File.readlines('input.txt').map do |line|
+ line.tr('FBLR', '0101')
+end.map do |line|
+ row = line.slice(0, 7).to_i 2
+ seat = line.slice(7, 3).to_i 2
+ row * 8 + seat
+end.sort.reduce do |last_seen, current|
+ if current - 1 != last_seen
+ missing = current - 1
+ end
+ current
+end
+
+puts missing