[CodingTest] 외계행성의 나이

hye·2023년 4월 22일
0

AlgorithmTest

목록 보기
80/95

📖 Exam

문제 설명

우주여행을 하던 머쓱이는 엔진 고장으로 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 행성은 알파벳 소문자만 사용합니다.

입출력 예

ageresult
23"cd"
51"fb"
100"baa"

✍ Answer

class Solution {
    public String solution(int age) {
        String strAge = String.valueOf(age);
        String[] strAgeArr = strAge.split("");
        StringBuffer sb = new StringBuffer();
        for(String str : strAgeArr){
            if(str.equals("0")) {
                sb.append("a");
            } else if(str.equals("1")){
                sb.append("b");
            } else if(str.equals("2")){
                sb.append("c");
            } else if(str.equals("3")){
                sb.append("d");
            } else if(str.equals("4")){
                sb.append("e");
            } else if(str.equals("5")){
                sb.append("f");
            } else if(str.equals("6")){
                sb.append("g");
            } else if(str.equals("7")){
                sb.append("h");
            } else if(str.equals("8")){
                sb.append("i");
            } else if(str.equals("9")){
                sb.append("j");
            }
        }
        return sb.toString();
    }
}

💡 Realization

  • 조건문 간단하게 하려면 어떻게 해야했을까 고민하게되는 문제.
class Solution {
    public String solution(int age) {
        String answer = "";
        String[] alpha = new String[]{"a","b","c","d","e","f","g","h","i","j"};

        while(age>0){
            answer = alpha[age % 10] + answer;
            age /= 10;
        }

        return answer;
    }
}

참고사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120834/solution_groups?language=java

profile
Junior Backend Developer

0개의 댓글