본문 바로가기
개발로그/알고리즘

프로그래머스 Lv.0 외계행성의 나이

by 쩜징 2023. 7. 14.

프로그래머스 Lv.0 외계행성의 나이


PROGRAMMERS-962 행성에서는 나이를 알파벳으로 표현한다.

a는 0, b는 1, c는 3 ... 예를 들어 23살은 cd, 51살은 fb로 표현한다.

나이 age가 매개변수로 주어질 때 PROGRAMMERS-962식 나이를 return하라!

 

** 풀이 방법

 

a=0, b=1, c=2, ... 저장되는 패턴을 보니 배열의 인덱스를 떠올렸다.

모든 소문자 알파벳을 담은 char배열을 만든다.

char[] alpha = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};

 

age를 문자열로 변환한다.

String age1 = Integer.toString(age);

 

age1의 각 자리수에 접근해서

int로 형변환해 idx에 저장한다.

char[idx] 값을 가져와 answer에 합치면 끝!

for (int i=0; i<age1.length(); i++) {
    idx = Character.getNumericValue(age1.charAt(i));
    answer += alpha[idx];
}

 

<> 전체 코드 </>

class Solution {
    public String solution(int age) {
        String answer = "";
        int idx = 0;
        char[] alpha = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
        String age1 = Integer.toString(age);
        for (int i=0; i<age1.length(); i++) {
            idx = Character.getNumericValue(age1.charAt(i));
            answer += alpha[idx];
        }
        return answer;
    }
}

 

반응형

댓글