문제 설명
정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요.
제한사항
0 ≤ n ≤ 1,000,000
나의 코드
class Solution {
public int solution(int n) {
int answer = 0;
while(n>0) {
answer += n%10;
n/=10;
}
return answer;
}
}
다른 사람 코드
class Solution {
public int solution(int n) {
int answer = 0;
String str = Integer.toString(n);
String[] arr = str.split("");
for(int i = 0; i < arr.length; i++) {
answer += Integer.parseInt(arr[i]);
}
return answer;
}
}
느낀 점
n이 0보다 클 때동안, n을 10으로 나눈 나머지를 더한 후 n을 10으로 나누는 과정을 반복하여 해결하였다.
다른 사람 코드처럼 주어진 정수 n을 문자열로 바꾸어 각 자리 수를 나눈 배열을 선언해 구해주는 방법도 있지만, 내가 사용한 방법이 생각해낼 수만 있다면 훨씬 간편하게 느껴졌다!