외계행성의 나이

성배·2025년 1월 11일
0

코딩테스트

목록 보기
14/53

우주여행을 하던 머쓱이는 엔진 고장으로 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으로 변경한다.

0개의 댓글