본문 바로가기

코딩테스트/programmers [Lv0]

[프로그래머스JAVA] 외계행성의 나이

문제 설명

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

 

<입출력 예 설명>

입출력 예 #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 s = String.valueOf(age);
        String[] arr = s.split("");
        
        for(int i = 0; i < arr.length; i++){
            answer += ((char)((Integer.parseInt(arr[i]) + 97)));
        }
        return answer;
    }
}

<요약>

각 숫자에 맞춰 알파벳으로 변환하기 위해 split으로 숫자를 나눠준 뒤 for문을 이용하여 'a'에 해당하는 아스키코드 97을 각 숫자별 더해준 뒤 char형태로 answer에 반환하여 붙였다.

 

## 참고용 아스키코드 ##

[A - Z] = [65 - 90], [a - z] = [97 - 122]

<출 처>

프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/courses/30/lessons/120834