Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Day 2 JavaScript
- formatting the code here on reddit is a bummer
- //leer txt
- var datos = [];
- var fs = require("fs");
- var data = fs.readFileSync("input2.txt", "utf8");
- data = data.trim();
- datos = data.split(/\n/);
- //convertir los datos a String
- for (let i = 0; i < datos.length; i++) {
- let str = datos[i];
- str = String(str);
- datos[i] = str;
- }
- function day2part1(input) {
- //crear objeto vacio
- var obj = {
- forward: 0,
- down: 0,
- up: 0,
- };
- //recorrer objeto y sumar los valores de cada direccion en el objeto
- for (let i = 0; i < input.length; i++) {
- let str = input[i];
- let str2 = str.split(" ");
- let key = str2[0];
- let num = Number(str2[1]);
- obj[key] += num;
- }
- //calcular la distancia total del objeto
- return obj.forward * Math.abs(obj.down - obj.up);
- }
- console.log(day2part1(datos));
- function day2part2(input) {
- let obj3 = { h: 0, aim: 0, d: 0 };
- for (let i = 0; i < input.length; i++) {
- let str = input[i];
- let str2 = str.split(" ");
- let key = str2[0];
- let num = Number(str2[1]);
- if (key == "forward") {
- cf(num, obj3);
- } else if (key == "down") {
- cd(num, obj3);
- } else if (key == "up") {
- cu(num, obj3);
- }
- }
- return obj3.h * obj3.d;
- }
- function cf(x, objeto) {
- let ph = objeto.h + x;
- let pd = objeto.d;
- let d = pd + objeto.aim * x;
- // return { ph, d };
- objeto.h = ph;
- objeto.d = d;
- }
- console.log(day2part2(datos));
- function cd(x, objeto) {
- objeto.aim = objeto.aim + x;
- }
- function cu(x, objeto) {
- objeto.aim = objeto.aim - x;
- }
Advertisement
Add Comment
Please, Sign In to add comment