우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요.
int age를 String으로 바꾼 다음, 배열로 변환해서
문자열의 길이동안 숫자를 영소문자로 바꾸는 코드?
class Solution {
public String solution(int age) {
String answer = "";
String strAge = String.valueOf(age);
String[] ageArr = strAge.split("");
for(int i = 0 ; i < ageArr.length ; i++){
answer += ((char)Integer.parseInt(ageArr[i] + 97/*아스키코드*/));
}
return answer;
}
}
????아스키 코드97은 영소문자 a부터 시작인걸로 아는데 이건 무슨 문자야???????
class Solution {
public String solution(int age) {
String answer = "";
//String strAge = String.valueOf(age);
String strAge = "abcdefghij";
String[] ageArr = String.valueOf(age).split("");
for(int i = 0 ; i < ageArr.length ; i++){
//answer += ((char)Integer.parseInt(ageArr[i] + 97));
answer += strAge.charAt(Integer.valueOf(ageArr[i]));
}
return answer;
}
}
아스키 코드 이해는 포기하고...
그냥 영소문자를 포함하는 String을 만들어줬다.
String으로 저장된 문자열 중에서 char타입으로 변환해주는 charAt 이용해서
나온 ageArr[i]값을 문자로 바꾼뒤 변환했다.