반응형
문제 설명
우주여행을 하던 머쓱이는 엔진 고장으로 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 행성은 알파벳 소문자만 사용합니다.
입출력 예
입출력 예 설명
입출력 예 #1
- age가 23이므로 "cd"를 return합니다.
입출력 예 #2
- age가 51이므로 "fb"를 return합니다.
입출력 예 #3
- age가 100이므로 "baa"를 return합니다.
문제풀이 코드
class Solution { public String solution(int age) {
String answer = "";
String age_str = Integer.toString(age);
String[] array = age_str.split("");
for (int i = 0; i < array.length; i++) {
int num = Integer.parseInt(array[i]);
char ch = (char) ('a' + num);
answer += ch;
}
return answer;
}
}
문제풀이 방법
이 문제는 숫자에 해당하는 순서를 알파벳 순서로 출력해주는 문제이다.
예를 들어서 a=0, b=1, c=2, d=3 으로 0~9까지 구해주면된다.
나는 이 문제를 해결하기위해서 'age'를 String으로 바꿔주고 다시 String[]배열로 바꿔주었다.
이렇게 하면 배열의 i번째에 해당하는 값을 숫자로 다시 받고
char ch = (char) ('a' + num);
코드를 통해서 해당 숫자의 순서에 해당하는 알파벳을 구할 수 있다.
(사실 굳이 변환을 이렇게까지 해야하나 싶긴하다...)
반응형