From 836de91d832dd5868700ff90ec5ce929ddee8226 Mon Sep 17 00:00:00 2001 From: Amedee Van Gasse Date: Tue, 9 Jan 2024 00:50:25 +0100 Subject: [PATCH] Refactor 2015/Day01 --- .../adventofcode/aoc2015/day01/Day01.kt | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/main/kotlin/be/amedee/adventofcode/aoc2015/day01/Day01.kt b/src/main/kotlin/be/amedee/adventofcode/aoc2015/day01/Day01.kt index 946cf1f..70c8492 100644 --- a/src/main/kotlin/be/amedee/adventofcode/aoc2015/day01/Day01.kt +++ b/src/main/kotlin/be/amedee/adventofcode/aoc2015/day01/Day01.kt @@ -46,27 +46,33 @@ fun findBasementPosition(instructions: String): Int { } class Day01 { - fun readElevatorInstructionsFromFile(fileName: String): String { - val packageName = javaClass.`package`.name.replace(".", "/") - val filePath = "/$packageName/$fileName" - val inputStream = javaClass.getResourceAsStream(filePath) - return BufferedReader(InputStreamReader(inputStream!!)).use { it.readText().trim() } - } + fun readElevatorInstructionsFromFile(fileName: String): String = + BufferedReader( + InputStreamReader( + this.javaClass.getResourceAsStream( + "/${ + this.javaClass.`package`.name.replace( + ".", + "/", + ) + }/$fileName", + )!!, + ), + ).use { it.readText().trim() } } +private const val INPUT = "input" + /** * Santa is trying to deliver presents in a large apartment building, * but he can't find the right floor - the directions he got are a little confusing. */ fun main() { - val inputFile = "input" - val puzzleInput = Day01().readElevatorInstructionsFromFile(inputFile) + val puzzleInput = Day01().readElevatorInstructionsFromFile(INPUT) - val endFloor = followInstructions()(puzzleInput) - println("Santa ends up on floor $endFloor.") + println("Santa ends up on floor ${followInstructions()(puzzleInput)}.") - val basementPosition = findBasementPosition(puzzleInput) - when (basementPosition) { + when (val basementPosition = findBasementPosition(puzzleInput)) { 0 -> println("Santa never enters the basement.") else -> println("Santa enters the basement at character position ${"%,d".format(basementPosition)}.") }