2015/3
This commit is contained in:
39
src/2015/3/1/index.ts
Normal file
39
src/2015/3/1/index.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
export default async function runner(inputPath: string) {
|
||||
const input = await Bun.file(inputPath).text();
|
||||
|
||||
let houses = 1;
|
||||
|
||||
const map: boolean[][] = [];
|
||||
|
||||
let x: number = 0;
|
||||
let y: number = 0;
|
||||
|
||||
|
||||
map[0] = []
|
||||
map[0][0] = true;
|
||||
|
||||
for (var char of input) {
|
||||
switch (char) {
|
||||
case '>':
|
||||
x++;
|
||||
break;
|
||||
case '<':
|
||||
x--;
|
||||
break;
|
||||
case '^':
|
||||
y++;
|
||||
break;
|
||||
case 'v':
|
||||
y--;
|
||||
break;
|
||||
}
|
||||
if(!map[x]) map[x] = [];
|
||||
if(map[x][y]) continue;
|
||||
map[x][y] = true;
|
||||
|
||||
houses++;
|
||||
|
||||
}
|
||||
|
||||
console.log(houses);
|
||||
}
|
||||
72
src/2015/3/2/index.ts
Normal file
72
src/2015/3/2/index.ts
Normal file
@@ -0,0 +1,72 @@
|
||||
export default async function runner(inputPath: string) {
|
||||
const input = await Bun.file(inputPath).text();
|
||||
|
||||
let cnt: number = 0;
|
||||
|
||||
let houses = 1;
|
||||
|
||||
const map: boolean[][] = [];
|
||||
|
||||
let x: number = 0;
|
||||
let y: number = 0;
|
||||
|
||||
let roboX: number = 0;
|
||||
let roboY: number = 0;
|
||||
|
||||
map[0] = []
|
||||
map[0][0] = true;
|
||||
for (var char of input) {
|
||||
|
||||
cnt++;
|
||||
if(cnt%2 === 1) {
|
||||
switch (char) {
|
||||
case '>':
|
||||
x++;
|
||||
break;
|
||||
case '<':
|
||||
x--;
|
||||
break;
|
||||
case '^':
|
||||
y++;
|
||||
break;
|
||||
case 'v':
|
||||
y--;
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
if(!map[x]) map[x] = [];
|
||||
if(map[x][y]) {
|
||||
continue;
|
||||
}
|
||||
map[x][y] = true;
|
||||
|
||||
houses++;
|
||||
} else {
|
||||
switch (char) {
|
||||
case '>':
|
||||
roboX++;
|
||||
break;
|
||||
case '<':
|
||||
roboX--;
|
||||
break;
|
||||
case '^':
|
||||
roboY++;
|
||||
break;
|
||||
case 'v':
|
||||
roboY--;
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
if(!map[roboX]) map[roboX] = [];
|
||||
if(map[roboX][roboY]) {
|
||||
continue;
|
||||
}
|
||||
map[roboX][roboY] = true;
|
||||
|
||||
houses++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
console.log(houses);
|
||||
}
|
||||
Reference in New Issue
Block a user