문제
나의 생각
아스키코드를 사용하면 된다고 생각하고 접근.
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 |