택배 상자

KSang·2024년 4월 24일
0

[Kotlin]코드카타

목록 보기
100/100

https://school.programmers.co.kr/learn/courses/30/lessons/131704/solution_groups?language=kotlin&type=my

fun `택배 상자`(order: IntArray): Int {
    val 보조 = ArrayDeque<Int>()
    var 담은거 = 0
    val 상자 = IntArray(order.size)

    for (i in order.indices) 상자[order[i] - 1] = i

    for (i in 상자.indices) {
        if (상자[i] == 담은거) {
            담은거++
        } else {
            보조.addLast(상자[i])
        }
        while (보조.isNotEmpty() && 보조.last() == 담은거) {
            보조.removeLast()
            담은거++
        }
    }

    return 담은거
}

0개의 댓글