Skip to content

Commit

Permalink
Day02 part2 対応中
Browse files Browse the repository at this point in the history
  • Loading branch information
aomidori committed Dec 8, 2024
1 parent a0f9681 commit 0fed65c
Showing 1 changed file with 29 additions and 20 deletions.
49 changes: 29 additions & 20 deletions src/Day02.kt
Original file line number Diff line number Diff line change
@@ -1,21 +1,25 @@
fun main() {
fun checkNumber(list: List<Int>): Boolean {
if (list == list.sorted() || list == list.sortedDescending()) {
val isUp = if (list[0] < list[1]) true else false
if (isUp) {
for (i in 0..<list.lastIndex) {
val delta = list[i + 1] - list[i]
if (delta < 1 || 3 < delta ) return false
fun checkNumber(list: List<Int>, alreadyUnsafe:Boolean): Boolean {
var unsafe = alreadyUnsafe
val isUp = if (list[0] < list[1]) true else false
if (isUp) {
for (i in 0..<list.lastIndex) {
val delta = list[i + 1] - list[i]
if (delta < 1 || 3 < delta) {
if (unsafe) return false
unsafe = true
}
} else {
for (i in 0..<list.lastIndex) {
val delta = list[i] - list[i + 1]
if (delta < 1 || 3 < delta ) return false
}
} else {
for (i in 0..<list.lastIndex) {
val delta = list[i] - list[i + 1]
if (delta < 1 || 3 < delta) {
if (unsafe) return false
unsafe = true
}
}
return true
}
return false
return true
}

/**
Expand All @@ -26,21 +30,26 @@ fun main() {
var safe = 0
input.forEach { row ->
var values = row.split(" ").map { it.toInt() }
if (checkNumber(values)) safe++
if (checkNumber(values, true)) safe++
}
return safe
}


fun part2(input: List<String>): Int {

return 0
// safeなリストの数
var safe = 0
input.forEach { row ->
var values = row.split(" ").map { it.toInt() }
if (checkNumber(values, false)) safe++
}
return safe
}


// val input = readInput("Day02_test")
val input = readInput("Day02")
val input = readInput("Day02_test")
// val input = readInput("Day02")

part1(input).println()
// part2(input).println()
// part1(input).println()
part2(input).println()
}

0 comments on commit 0fed65c

Please sign in to comment.