우주여행을 하던 머쓱이는 엔진 고장으로 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. 받은 수를 하나씩 구분해서 해당하는 알파벳으로 변경해야한다
class Solution {
public String solution(int age) {
StringBuilder answer = new StringBuilder();
String change = Integer.toString(age);
for (char num : change.toCharArray()) {
answer.append((char) (num - '0' + 'a'));
}
return answer.toString();
}
}
🐴 풀이
1. 입력 받은 나이를 toString()으로 형변환 해준다
2. 변경한 나이를 향상된 for문을 통해 하나씩 num으로 받아와 해당 숫자 -'0'+'a'를 통해 아스키코드에서 해당하는 알파벳으로 변경하고 char타입으로 append한다
3. append()를 위해 StringBuilder로 생성한 answer
4. 마지막 answer를 출력할때는 toString()으로 char타입으로 append()한 값을 String으로 변경한다.