[프로그래머스] Lv.0 외계행성의 나이 (아스키코드를 활용한 문자 추출)
[프로그래머스] Lv.0 외계행성의 나이 (아스키코드를 활용한 문자 추출)
May 17, 2024


답
import java.util.stream.Stream;
class Solution {
public String solution(int age) {
int[] ageArr = Stream.of(String.valueOf(age).split(""))
.mapToInt(Integer::parseInt)
.toArray();
StringBuilder sb = new StringBuilder();
for (int n = 0; n < ageArr.length; n++) {
char alp = (char) (97 + ageArr[n]); // a는 아스키코드로 97부터 시작하므로
sb.append(alp);
}
String answer = sb.toString();
return answer;
}
}
다른 사람의 풀이
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());
}
}
❔ chars( )
문자열을 구성하는 각 문자들에 대한 IntStream을 생성하며,
각 문자의 ASCII 코드
에 해당되는 정수 값을 포함한다.그래서
a는 97
이고, 0은 48
이므로 49를 디폴트값
으로 + 해줬다.Share article