알고리즘 문제 풀이/프로그래머스
[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("")
}
}
반응형