자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
입출력 예 #1
문제의 예시와 같습니다.
입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
import java.util.*;
public class Solution {
public int solution(int n) {
int answer = 0;
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
System.out.println("Hello Java");
return answer;
}
}
import java.util.*;
public class Solution {
public int solution(int n) {
int[] arr = Arrays.stream(String.valueOf(n).split("")).mapToInt(Integer :: parseInt).toArray();
int answer = Arrays.stream(arr).sum();
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
System.out.println("Hello Java");
return answer;
}
}
들어오는 숫자를 정수형 배열로 바꿉니다.
정수형 배열 arr 변수는 Arrays.stream() 메소드로 스트림으로 변환해주고, String.valueOf(n)은 숫자 n을 문자열로 반환한 뒤에 .split("")으로 한글자씩 나눠서 배열로 나타내줍니다. 그 뒤에 mapToInt(Integer :: paresInt)를 해서 문자열을 정수로 변환해주었고, 그 뒤에 .toArray()로 스트림을 배열로 변환 시켰습니다
answer 정수형 변수에 Arrays.stream(arr)인 정수배열 arr을 스트림으로 변환해서 .sum()으로 배열의 모든 숫자를 더해서 반환했습니다.
public int solution(int n) {
int sum = 0;
while (n > 0) {
sum += n % 10; // 마지막 자리 숫자 더하기
n /= 10; // 마지막 자리 숫자 제거
}
return sum;
}