문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/12931

제한 사항

입출력 예

풀이
public class Solution {
public int solution(int n) {
return Integer.toString(n).chars().map(Character::getNumericValue).sum();
}
}
후기
chars()가 IntStream을 반환하기에 sum() 사용이 가능하다. char로 변환했는데 어떻게 가능한 건가 싶을 수도 있는데 char형은 아스키 코드 숫자 값으로 저장되기 때문에 사실상 숫자를 저장하는 것이다. 예를 들어 숫자 0은 아스키 코드 값으로 48이므로 48이 저장된다. 그렇기 때문에 getNumericValue() 메서드로 48을 숫자 0으로 다시 바꿔준 것이다. 물론 직접 '0'으로 빼주어도 똑같은 결과를 얻을 수 있다. 예: '5'(53) - '0'(48) 숫자 문자를 빼나 아스키 코드 값에서 두 수를 빼나 차이는 똑같다.
'코딩테스트 (프로그래머스) > Java' 카테고리의 다른 글
| [프로그래머스][JAVA][Lv. 2] 최솟값 만들기 (0) | 2023.08.09 |
|---|---|
| [프로그래머스][JAVA][Lv. 2] 최대값과 최소값 (0) | 2023.08.09 |
| [프로그래머스][JAVA][Lv. 1] 자연수 뒤집어 배열로 만들기 (0) | 2023.08.09 |
| [프로그래머스][JAVA][Lv. 2] 영어 끝말잇기 (0) | 2023.08.08 |
| [프로그래머스][JAVA][Lv. 1] 정수 내림차순으로 배치하기 (0) | 2023.08.08 |