diff --git a/2023/.gitignore b/2023/.gitignore index 3d75225..563a96b 100644 --- a/2023/.gitignore +++ b/2023/.gitignore @@ -170,3 +170,4 @@ dist # IntelliJ based IDEs .idea +input.txt \ No newline at end of file diff --git a/2023/src/cli.ts b/2023/src/cli.ts index be39734..b16d3ca 100644 --- a/2023/src/cli.ts +++ b/2023/src/cli.ts @@ -12,7 +12,7 @@ program const file = dirs.find((dir) => dir.name === `${option.part}.ts`); if (file) { logger('success', `Running day ${day}`) - await import(`./days/${file.name}/${option.part}`); + await import(`./days/${day}/${option.part}.ts`); } else { logger('error', `Day ${day} part ${option.part} not found!`); } diff --git a/2023/src/days/1/1.ts b/2023/src/days/1/1.ts index 058cc01..146e861 100644 --- a/2023/src/days/1/1.ts +++ b/2023/src/days/1/1.ts @@ -1 +1,25 @@ -console.log('asdf') \ No newline at end of file +// REALLY UNCLEAN CODE BUT IT WORKS + +const regex = /\D/g +const array: Array = [] +const file = (await (Bun.file('./src/days/1/input.txt')).text()).split('\n') +file.forEach((line) => { + let arr = Array.from(line.replace(regex, '')).map(Number) + if (arr.length === 0) return + if (arr.length === 1) { + // lol + arr = [Number(`${arr[0]}${arr[0]}`)] + } + if (arr.length >= 2) { + arr = [Number(`${arr[0]}${arr[arr.length - 1]}`)] + } + let sum = 0 + arr.forEach(num => sum += num) + array.push(sum) +}) +console.log(array.length) +let sum = 0 + +array.forEach(num => sum += num) + +console.log(sum) \ No newline at end of file