문제 설명
우주여행을 하던 머쓱이는 엔진 고장으로 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;
}
방식
- 숫자 age를 문자열로 반환
- 반복문으로 문자열을 한 글자씩 순회
- fromCharCode를 이용해 숫자를 알파벳으로 변환
- 변환한 문자를 answer에 이어붙이기
fromCharCode는 아스키 코드(문자 코드값)를 실제 문자로 변환해주는 함수
느낀점
문제를 처음 봤을 때는 숫자를 어떻게 알파벳으로 변환해야 할지 막막했지만, 문자열로 변환해 한 자리씩 접근하는 방식으로 해결할 수 있었다. 또한 fromCharCode를 통해 문자도 내부적으로는 숫자 코드값으로 관리된다는 점을 알게 되었고 숫자와 문자가 연결되는 원리를 이해할 수 있었다.
'코딩테스트' 카테고리의 다른 글
| [프로그래머스] 가위 바위 보 (0) | 2026.05.31 |
|---|---|
| [프로그래머스] 진료순서 정하기 (0) | 2026.05.27 |
| [프로그래머스] 짝수의 합 (0) | 2026.05.05 |
| [프로그래머스] 각도기 (0) | 2026.04.29 |
| [프로그래머스] 특정 문자 제거하기 (0) | 2026.04.29 |