문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한사항
N의 범위 : 100,000,000 이하의 자연수
입출력 예
N answer
123 6
987 24
입출력 예 설명
입출력 예 #1
문제의 예시와 같습니다.
입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;
public class Solution {
public int solution(int n) {
int answer = 0;
String str = Integer.toString(n);
int[] arr = Stream.of(str.split("")).mapToInt(Integer::parseInt).toArray();
for(int i=0; i<arr.length;i++){
answer += arr[i];
}
return answer;
}
}
제일 먼저 떠오른 것은 형변환을 해서 푸는 거였는데 다른 사람들의 코드를 보니 간단하게 풀 수 있는 문제였다. 그래도 배운 것은 String 을 간단하게 int배열로 바꿀 수 있는 방법!
int n = 150;
String str = Integer.toString(n);
int[] arr = Stream.of(str.split("")).mapToInt(Integer::parseInt).toArray();
import java.util.*;
public class Solution {
public int solution(int n) {
int answer = 0;
while(true){
answer+=n%10;
if(n<10)
break;
n=n/10;
}
return answer;
}
}
break는 웬만하면 쓰지 말라고 선생님이 가르쳐 주셨으니 저거 빼고 생각해보면 되겠다! 참 쉬운 문제였군..