Reinited repo because commits leaked my real name

This commit is contained in:
nikurasu 2022-12-21 13:35:30 +01:00
commit 700ba0888e
8 changed files with 4889 additions and 0 deletions

2251
2022/day01/input Normal file

File diff suppressed because it is too large Load Diff

32
2022/day01/main.mjs Normal file
View File

@ -0,0 +1,32 @@
import fs from 'node:fs'
fs.readFile('input', 'utf8', (err, data) => {
let cleanedData = []
data.split(/(\r?\n){2,}/gm).forEach(data => {
if(data !== '\n'){
cleanedData.push(data.split('\n').map(n => {return Number(n)}))
}
})
let highestValues = findHighest(cleanedData)
console.log('Part 1: The elve with the most calories carries: ' + highestValues[0] + ' calories')
let sumTop3 = highestValues[0]
for(let i = 0; i < 2; i++) {
cleanedData.splice(highestValues[1], 1)
highestValues = findHighest(cleanedData)
sumTop3 += highestValues[0]
}
console.log('Part 2: The three elves with the most calories carry: '+ sumTop3 + ' calories')
})
function findHighest(numberArray) {
let highestNumber = 0
let highestIndex = 0
numberArray.forEach((part, index) => {
let sum = part.reduce((a, b) => a + b, 0)
if (sum > highestNumber) {
highestNumber = sum
highestIndex = index
}
})
return [highestNumber, highestIndex]
}

2500
2022/day02/input Normal file

File diff suppressed because it is too large Load Diff

3
2022/day02/input.test Normal file
View File

@ -0,0 +1,3 @@
A Y
B X
C Z

BIN
2022/day02/main.jar Normal file

Binary file not shown.

35
2022/day02/main.kt Normal file
View File

@ -0,0 +1,35 @@
import java.io.File
import java.io.InputStream
fun main(args: Array<String>) {
val inputStream: InputStream = File("input").inputStream()
val lineList = mutableListOf<Int>()
inputStream.bufferedReader().forEachLine{
val janken: List<String> = it.split(" ").map { when(it) {
"X" -> "A"
"Y" -> "B"
"Z" -> "C"
else -> it
}}
var score: Int = when (janken[1]) {
"A" -> 1
"B" -> 2
"C" -> 3
else -> 0
}
if (janken[0] == janken[1]) {
score += 3
} else if (janken[0] == "A") {
score += if (janken[1] == "C") 6 else 0
} else if (janken[0] == "B") {
score += if (janken[1] == "A") 6 else 0
} else if (janken[0] == "C") {
score += if (janken[1] == "B") 6 else 0
}
println(janken)
lineList.add(score)
}
println("My score will be " + lineList.sum())
println(lineList.size)
}

66
2022/day02/main.mjs Normal file
View File

@ -0,0 +1,66 @@
import fs from 'node:fs'
import readline from 'node:readline'
const rl = readline.createInterface({
input: fs.createReadStream('input'),
output: process.stdout,
terminal: false
})
let completeScore = 0
rl.on('line', line => {
let score = 0
let janken = line.split(' ').map(symbol => unencrypt(symbol))
switch(janken[1]) {
case 'Rock':
score += 1
break
case 'Paper':
score += 2
break
case 'Scissors':
score += 3
break
}
if (janken[0] === janken[1]) {
score += 3
} else if (janken[0] === 'Rock') {
if (janken[1] === 'Paper') {
score += 6
}
} else if (janken[0] === 'Paper') {
if (janken[1] === 'Scissors') {
score += 6
}
} else if (janken[0] === 'Scissors') {
if (janken[1] === 'Rock') {
score += 6
}
}
janken.push(score)
console.log(janken)
completeScore += score
})
rl.on('close', () => {
console.log("The complete score is: " + completeScore)
})
function unencrypt(encSymbol) {
let symbol
switch (encSymbol) {
case 'A':
case 'X':
symbol = 'Rock'
break
case 'B':
case 'Y':
symbol = 'Paper'
break
case 'C':
case 'Z':
symbol = 'Scissors'
break
}
return symbol
}

2
README.md Normal file
View File

@ -0,0 +1,2 @@
# Nikurasus Answers to Advent of Code
Here I will post all of my solutions to the funny event advent of code from the year 2022 and ongoing :D