-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathday2.js
40 lines (39 loc) · 1.24 KB
/
day2.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
const fs = require('fs');
fs.readFile('day2data.txt', (err, data) => {
const d = data.toString().split("\n");
let correctPws = 0;
// console.log(d);
for (let i = 0; i < d.length; i++) {
let [minmax, letter, pw] = d[i].split(' ');
const [min, max] = minmax.split('-');
letter = letter.split(':')[0];
// console.log(min, max, letter, pw);
let count = 0;
pw.split('').forEach((l) => {
if (l === letter) {
count += 1;
}
})
if (count >= min && count <= max) {
correctPws += 1;
}
}
console.log(correctPws);
});
fs.readFile('day2data.txt', (err, data) => {
const d = data.toString().split("\n");
let correctPws = 0;
// console.log(d);
for (let i = 0; i < d.length; i++) {
let [positions, letter, pw] = d[i].split(' ');
positions = positions.split('-').map((n) => parseInt((n)));
letter = letter.split(':')[0];
// console.log(min, max, letter, pw);
// console.log(letter, positions, pw);
if ((pw[positions[0]-1] === letter && pw[positions[1]-1] !== letter) || (pw[positions[0]-1] !== letter && pw[positions[1]-1] === letter)) {
// console.log(pw[positions[0]-1], pw[positions[1]-1], positions, letter);
correctPws += 1;
}
}
console.log(correctPws);
});