Browse Source

Day 3 js

master
boB Rudis 3 years ago
parent
commit
6e149cc669
No known key found for this signature in database GPG Key ID: 1D7529BE14E2BBA9
  1. 1
      R/.Rproj.user/shared/notebooks/paths
  2. 54
      js/03.js

1
R/.Rproj.user/shared/notebooks/paths

@ -10,4 +10,5 @@
/Users/hrbrmstr/Development/2020-code-advent/input/03-01.txt="3353A6D2"
/Users/hrbrmstr/Development/2020-code-advent/js/01.js="77D3BDB6"
/Users/hrbrmstr/Development/2020-code-advent/js/02.js="BC8B36A1"
/Users/hrbrmstr/Development/2020-code-advent/js/03.js="E24752E6"
/private/tmp/test.txt="DFC19AA4"

54
js/03.js

@ -0,0 +1,54 @@
var fs = require("fs")
orig_map = fs.readFileSync("../input/03-01.txt", "utf-8")
.split("\n")
.filter((line) => line != '')
count_trees = function(orig_map, slope_x, slope_y) {
m_cols = orig_map[0].length
m_rows = orig_map.length
n_tiles = Math.floor((slope_x+1) * m_rows / (m_cols))
actual_map = orig_map.map((row) => {
return(row.repeat(n_tiles))
})
xpos = 0
ypos = 0
n_trees = 0
while(true) {
xpos = xpos + slope_x
ypos = ypos + slope_y
if (ypos >= m_rows) break
if (actual_map[ypos][xpos] == "#") n_trees = n_trees + 1
}
return(n_trees)
}
// 03-01
console.log(count_trees(orig_map, 3, 1))
// 03-02
x = [ 1, 3, 5, 7, 1 ]
y = [ 1, 1, 1, 1, 2 ]
console.log(
[...Array(x.length).keys()]
.map((idx) => count_trees(orig_map, x[idx], y[idx]))
.reduce((a, b) => a * b)
)
Loading…
Cancel
Save