본문 바로가기
프로그래머스/[프로그래머스 - JAVA] Lv.0

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

by 코딩하는 흰둥이 2023. 3. 10.

 

  • 내 풀이
class Solution {
    public String solution(int age) {
        String answer = "";
        String[] ageWord = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j" };

        String str = String.valueOf(age);
        for (int i = 0; i < str.length(); i++) {
            for (int j = 0; j < ageWord.length; j++) {

                if (String.valueOf(j).equals(String.valueOf(str.charAt(i)))) {
                    answer += ageWord[j];
                }
            }
        }

        return answer;
    }
}

int age를 문자열로 변형 시켜서 charAt으로 자리별로 구분 짓게 한다.

 

 

  • 다른 사람 풀이
import java.util.stream.Collectors;

class Solution {
    public String solution(int age) {
        return String.valueOf(age).chars().mapToObj(operand -> String.valueOf((char) (49 + operand))).collect(Collectors.joining());
    }
}





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;
    }
}

다른 분들의 풀이를 보다보면 정말 다양한 방식이 있다는 걸 느끼면서 나의 코드는 너무 단순하고 기초적으로만 짜고 있다고 느껴진다 분발해야지!!

댓글