관리 메뉴

나만을 위한 블로그

[Algorithm] 프로그래머스 - 수 조작하기 2 (Kotlin) 본문

알고리즘 문제 풀이/프로그래머스

[Algorithm] 프로그래머스 - 수 조작하기 2 (Kotlin)

참깨빵위에참깨빵_ 2023. 12. 30. 02:09
728x90
반응형

 

이전 문제와 비슷하게 풀었는데 실행 시간이 너무 오래 걸린다.

 

class Solution {
    fun solution(numLog: IntArray): String {
        var control = ""
        for (i in 1 until numLog.size) {
            control += if (numLog[i] - numLog[i - 1] == 1) {
                'w'
            } else if (numLog[i] - numLog[i - 1] == -1) {
                's'
            } else if (numLog[i] - numLog[i - 1] == 10) {
                'd'
            } else 'a'
        }
        return control
    }
}

 

간결하게 만들면 아래와 같다.

 

class Solution {
    fun solution(numLog: IntArray): String {
        return (1..numLog.lastIndex).map {
            when (numLog[it] - numLog[it-1]) {
                1 -> 'w'
                -1 -> 's'
                10 -> 'd'
                else -> 'a'
            }
        }.joinToString("")
    }
}

 

반응형
Comments