문제 출처: https://programmers.co.kr/learn/courses/30/lessons/12931
문제 설명
파라미터로 받은 숫자의 자릿수를 모두 더하면 되는 문제:
예시: 123 -> 1 + 2 + 3 = 6
문제풀이
import java.util.*;
public class Solution {
public int solution(int n) {
int answer = 0;
int divider = 10;
int curVal = 0;
if (n == 100000000)
return 1;
while(divider < 1000000000) {
curVal = (n % divider);
if(divider < 100)
answer += curVal;
else {
int temp = curVal / (divider / 10);
answer += temp;
}
divider *= 10;
}
return answer;
}
}
문제 해설:
주어진 수: 12345
나누는 수 시작 값: 10
12345 % 10 = 5 --->> 1의 자리 5
나누는 수 * 10 = 100
12345 % 100 = 45
45 / (나누는 수 / 10) = 4 ------> 10의 자리 4
나누는 수 * 10 = 1000
12345 % 1000 = 345
345 / (나누는 수 / 10) = 4 ------> 100의 자리 3
이런 로직으로 하나씩 찾아서 더하면 됩니다.