added year of 2023
This commit is contained in:
62
2023/01/Kotlin/src/main/kotlin/Main.kt
Normal file
62
2023/01/Kotlin/src/main/kotlin/Main.kt
Normal file
@@ -0,0 +1,62 @@
|
||||
import java.io.File
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
part2()
|
||||
}
|
||||
|
||||
fun part2() {
|
||||
val data = File("input_2.txt").readLines()
|
||||
val map = hashMapOf(
|
||||
Pair("one", "1"),
|
||||
Pair("two", "2"),
|
||||
Pair("three", "3"),
|
||||
Pair("four", "4"),
|
||||
Pair("five", "5"),
|
||||
Pair("six", "6"),
|
||||
Pair("seven", "7"),
|
||||
Pair("eight", "8"),
|
||||
Pair("nine", "9"),
|
||||
)
|
||||
var sum = 0
|
||||
data.forEach { line ->
|
||||
var convertedString: String = line
|
||||
for (value in listOf("one", "two", "three", "four", "five", "six", "seven", "eight", "nine")) {
|
||||
Regex(value).findAll(line).map { it.range }.forEach { range ->
|
||||
convertedString = convertedString.replaceRange(range.first, range.first + 1, map[value].toString())
|
||||
}
|
||||
}
|
||||
println(convertedString)
|
||||
val filteredString = convertedString.filter {c: Char -> c.isDigit()}
|
||||
println(filteredString)
|
||||
sum += if (filteredString.length < 2) {
|
||||
//println("${numbers[0]}${numbers[0]}")
|
||||
"${filteredString[0]}${filteredString[0]}".toInt()
|
||||
} else {
|
||||
//println("${numbers[0]}${numbers[numbers.length - 1]}")
|
||||
"${filteredString[0]}${filteredString[filteredString.length - 1]}".toInt()
|
||||
}
|
||||
/*val ranges = Regex("one").findAll(line).map { it.range }//.joinToString("|")
|
||||
if (ranges.any()) {
|
||||
println(line.replaceRange(ranges.elementAt(0).first..ranges.elementAt(0).first, "1"))
|
||||
} else {
|
||||
println(line)
|
||||
}*/
|
||||
}
|
||||
println("Sum: $sum")
|
||||
}
|
||||
|
||||
fun part1() {
|
||||
val data = File("input.txt").readLines()
|
||||
var sum = 0
|
||||
data.forEach { line ->
|
||||
val numbers = line.filter { c: Char -> c.isDigit() }
|
||||
sum += if (numbers.length < 2) {
|
||||
//println("${numbers[0]}${numbers[0]}")
|
||||
"${numbers[0]}${numbers[0]}".toInt()
|
||||
} else {
|
||||
//println("${numbers[0]}${numbers[numbers.length - 1]}")
|
||||
"${numbers[0]}${numbers[numbers.length - 1]}".toInt()
|
||||
}
|
||||
}
|
||||
print(sum)
|
||||
}
|
||||
Reference in New Issue
Block a user