28 lines
779 B
TypeScript
28 lines
779 B
TypeScript
|
|
const fs = require('fs');
|
||
|
|
|
||
|
|
let input = fs.readFileSync(__dirname + '/input.txt', 'utf8');
|
||
|
|
|
||
|
|
const vertical: Array<string> = input.split("\n");
|
||
|
|
const width = vertical[0].length;
|
||
|
|
const height = vertical.length;
|
||
|
|
|
||
|
|
let result = 0;
|
||
|
|
|
||
|
|
for (let j = 1; j < height - 1; j++) {
|
||
|
|
for (let i = 1; i < width - 1; i++) {
|
||
|
|
const letter = vertical[i][j];
|
||
|
|
if (letter !== 'A') {
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
const diagonalRight = vertical[i-1][j-1] + 'A' + vertical[i+1][j+1];
|
||
|
|
const diagonalLeft = vertical[i-1][j+1] + 'A' + vertical[i+1][j-1];
|
||
|
|
if (
|
||
|
|
(diagonalLeft === 'MAS' || diagonalLeft === 'SAM')
|
||
|
|
&& (diagonalRight === 'MAS' || diagonalRight === 'SAM')
|
||
|
|
) {
|
||
|
|
result++;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
};
|
||
|
|
|
||
|
|
console.log(result);
|