
045.μμ μνΈ
/*
λ¬Έμ μ€λͺ
μ΄λ€ λ¬Έμ₯μ κ° μνλ²³μ μΌμ ν 거리λ§νΌ λ°μ΄μ λ€λ₯Έ μνλ²³μΌλ‘ λ°κΎΈλ μνΈν λ°©μμ μμ μνΈλΌκ³ ν©λλ€. μλ₯Ό λ€μ΄ "AB"λ 1λ§νΌ λ°λ©΄ "BC"κ° λκ³ , 3λ§νΌ λ°λ©΄ "DE"κ° λ©λλ€. "z"λ 1λ§νΌ λ°λ©΄ "a"κ° λ©λλ€. λ¬Έμμ΄ sμ 거리 nμ μ
λ ₯λ°μ sλ₯Ό nλ§νΌ λ―Ό μνΈλ¬Έμ λ§λλ ν¨μ, solutionμ μμ±ν΄ 보μΈμ.
μ ν 쑰건
곡백μ μ무리 λ°μ΄λ 곡백μ
λλ€.
sλ μνλ²³ μλ¬Έμ, λλ¬Έμ, 곡백μΌλ‘λ§ μ΄λ£¨μ΄μ Έ μμ΅λλ€.
sμ κΈΈμ΄λ 8000μ΄νμ
λλ€.
nμ 1 μ΄μ, 25μ΄νμΈ μμ°μμ
λλ€.
*/
class Solution {
fun solution(s: String, n: Int): String {
return s.toList().joinToString(separator = "") {
//separator : μμκ° μ°κ²° μ μ¬μ΄μ λ€μ΄κ° λ¬Έμμ΄ ( ""μ μ£Όλ©΄ 곡백μμ΄ μ°κ²°λλ€.)
//joinToString = 리μ€νΈμ μμλ€μ λͺ¨λ μ°κ²°ν νλμ λ¬Έμμ΄
when (it) {
//νκΈμμ© λμ int(μμ€ν€μ½λ)κ°μΌλ‘ λ§λ λ€μ μ²λ¦¬...
in 'A'..'Z' ->
('A'.toInt() + (it.toInt() - 'A'.toInt() + n) % ('Z' - 'A' + 1)).toChar()
in 'a'..'z' ->
('a'.toInt() + (it.toInt() - 'a'.toInt() + n) % ('z' - 'a' + 1)).toChar()
else -> it
}.toString()
}
}
}