Kotlin Solution for Part2

This commit is contained in:
nikurasu 2022-12-21 15:09:40 +01:00
parent 2492fb4d17
commit 11f2a91bb7

View file

@ -3,8 +3,9 @@ import java.io.InputStream
fun main(args: Array<String>) {
val inputStream: InputStream = File("input").inputStream()
val lineList = mutableListOf<Int>()
val inputStream: InputStream = File(args[0]).inputStream()
val lineList1 = mutableListOf<Int>()
val lineList2 = mutableListOf<Int>()
inputStream.bufferedReader().forEachLine{
val janken: List<String> = it.split(" ").map { when(it) {
"X" -> "A"
@ -12,24 +13,56 @@ fun main(args: Array<String>) {
"Z" -> "C"
else -> it
}}
var score: Int = when (janken[1]) {
var score1: Int = when (janken[1]) {
"A" -> 1
"B" -> 2
"C" -> 3
else -> 0
}
if (janken[0] == janken[1]) {
score += 3
score1 += 3
} else if (janken[0] == "A") {
score += if (janken[1] == "C") 0 else 6
score1 += if (janken[1] == "C") 0 else 6
} else if (janken[0] == "B") {
score += if (janken[1] == "A") 0 else 6
score1 += if (janken[1] == "A") 0 else 6
} else if (janken[0] == "C") {
score += if (janken[1] == "B") 0 else 6
score1 += if (janken[1] == "B") 0 else 6
}
println(janken)
lineList.add(score)
lineList1.add(score1)
var mySymbol: String = ""
if (janken[1] == "B") {
mySymbol = janken[0]
} else if (janken[1] == "C"){
mySymbol = when(janken[0]) {
"A" -> "B"
"B" -> "C"
"C" -> "A"
else -> "Error"
}
} else if (janken[1] == "A"){
mySymbol = when(janken[0]) {
"A" -> "C"
"B" -> "A"
"C" -> "B"
else -> "Error"
}
}
var score2: Int = when (mySymbol) {
"A" -> 1
"B" -> 2
"C" -> 3
else -> 0
}
score2 += when (janken[1]) {
"A" -> 0
"B" -> 3
"C" -> 6
else -> 0
}
println(mySymbol)
lineList2.add(score2)
}
println("My score will be " + lineList.sum())
println(lineList.size)
println("Part 1: With my thoughts my score will be " + lineList1.sum())
println("Part 2: With the correct interpretation, my score will be " + lineList2.sum())
}