본문 바로가기
코딩테스트

[프로그래머스] 외계행성의 나이

by liz_devel 2025. 12. 21.

🗒 문제


📝 나의 문제풀이

class Solution {
    fun solution(age: Int): String {
        val letters = ('a'..'z').toList()
        return age.toString().map{ letters[it.digitToInt()] }.joinToString("")
    }
}

 

🖊 문제 풀이 시 알면 좋을 것

 

'a'..'z'

  • 용도: 문자(Char) 범위를 나타냄
  • 'a'..'z' → 'a'부터 'z'까지 연속된 문자 범위
  • toList() → 범위를 리스트로 변환
val letters = ('a'..'z').toList()
println(letters) 
// [a, b, c, d, e, ..., z]

문제에서 0 → 'a', 1 → 'b', ... 9 → 'j' 매핑할 때 사용


2️⃣ age.toString()

  • 용도: 숫자(Int) → 문자열(String) 변환
  • 이유: 숫자를 문자 단위로 하나씩 처리하려면 문자열로 바꿔야 함
 
val age = 23
println(age.toString()) // "23"

 


4️⃣ it.digitToInt()

  • 용도: **문자(Char)를 숫자(Int)**로 변환
  • '0' → 0, '1' → 1, ... '9' → 9
val c = '5'
println(c.digitToInt()) // 5
  • 문제에서는 문자열에서 각 숫자를 letters 리스트 인덱스로 사용

5️⃣ letters[it.digitToInt()]

  • 용도: 숫자를 알파벳 문자로 변환
  • 예: 숫자 0 → letters[0] → 'a'
 
val letters = ('a'..'z').toList()
val num = '3'.digitToInt()
println(letters[num]) // 'd'

반응형