코딩테스트

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

john-lennon 2026. 5. 26. 12:01

문제 설명

우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요.

 

제한사항

  • age는 자연수입니다.
  • age ≤ 1,000
  • PROGRAMMERS-962 행성은 알파벳 소문자만 사용합니다.

입출력 예

age result
23 "cd"
51 "fb"
100 "baa"

 


 

 

나의 코드

function solution(age) {
    const str = String(age);
    let answer = '';
    
    for (i = 0; i < str.length; i++) {
        answer += String.fromCharCode(Number(str[i]) + 97)
    }
    
    return answer;
}

 

방식

  1. 숫자 age를 문자열로 반환
  2. 반복문으로 문자열을 한 글자씩 순회
  3. fromCharCode를 이용해 숫자를 알파벳으로 변환
  4. 변환한 문자를 answer에 이어붙이기
fromCharCode는 아스키 코드(문자 코드값)를 실제 문자로 변환해주는 함수

 


 

 

느낀점

문제를 처음 봤을 때는 숫자를 어떻게 알파벳으로 변환해야 할지 막막했지만, 문자열로 변환해 한 자리씩 접근하는 방식으로 해결할 수 있었다. 또한 fromCharCode를 통해 문자도 내부적으로는 숫자 코드값으로 관리된다는 점을 알게 되었고 숫자와 문자가 연결되는 원리를 이해할 수 있었다.