untitled notebook

node v6.17.1
version: 1.0.0
endpointsharetweet
const fs = require('fs'); const keypad = [ [1,2,3], [4,5,6], [7,8,9] ]; let posX = 1; let posY = 1; /* const keypad = [ [ , ,1, , ], [ ,2,3,4, ], [5,6,7,8,9], [ ,'A','B','C', ], [ , ,'D', , ] ]; let posX = 0; let posY = 2; */ const testCase = `ULL RRDDD LURDL UUUUD`; function move(direction) { switch (direction) { case 'U': if (keypad[posY-1] && keypad[posY-1][posX]) { posY -= 1; } break; case 'D': if (keypad[posY+1] && keypad[posY+1][posX]) { posY += 1; } break; case 'L': if (keypad[posY][posX-1]) { posX -= 1; } break; case 'R': if (keypad[posY][posX+1]) { posX += 1; } break; } } function getNumber(line) { line.split('').filter(move); return keypad[posY][posX]; } function getCode(input) { return input.trim().split('\n').map(getNumber).join(''); } console.log(getCode(testCase)); // fs.readFile('input.txt', 'utf8', function (err, contents) { // console.log(getCode(contents)); // });
Loading…

no comments

    sign in to comment