외계행성의 나이

문제

 


나의 생각

 

아스키코드를 사용하면 된다고 생각하고 접근.

0 과 'a' 의 값 차이는 49로 char[]로 만들고 난 후 49를 더해주면 된다고 생각.

 


나의 답안

 

public static String solution(int age) {
    String answer = "";
    String a = String.valueOf(age);
    char[] b = new char[a.length()];
    for (int i = 0; i < a.length(); i++){
        b[i] = (char) (a.charAt(i) + 49);
        answer += b[i];
    }

    return answer;
}

다른 답안

 

홍희표님의 답안은 항상 stream에서 시작해서 stream으로 끝나는데 참으로 다양한 코드를 볼 수 있는분이라서 좋다. 

이러한 코드도 있다라고 생각하면 될 듯하다.

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

'Programmers 문제풀이 > Lv.0' 카테고리의 다른 글

약수 구하기  (0) 2023.02.28
피자 나눠 먹기 (2)  (0) 2023.02.28
인덱스 바꾸기  (0) 2023.02.27
가장 큰 수 찾기  (0) 2023.02.27
배열 회전시키기  (0) 2023.02.27