Kotlin/코딩테스트

[프로그래머스] 둘만의 암호 - kotlin

깨노비 2023. 4. 4. 00:33
728x90
반응형

두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들려 합니다. 암호의 규칙은 다음과 같습니다.

문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔줍니다.
index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아갑니다.
skip에 있는 알파벳은 제외하고 건너뜁니다.

class Solution {
    fun solution(s: String, skip: String, index: Int): String {
        var answer: String = ""
        val chrs = ('a'..'z').filter { chr -> !skip.contains(chr) }
        val len = chrs.size

        for (chr in s) {
            val idx = chrs.indexOf(chr)
            val nextIdx = (idx + index) % len
            answer += chrs[nextIdx]
        }

        return answer
    }
}
728x90
반응형