프로그래머스 - 자릿수 더하기[java]

스브코·2021년 11월 8일

문제 출처: 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

이런 로직으로 하나씩 찾아서 더하면 됩니다.

profile
익히는 속도가 까먹는 속도를 추월하는 그날까지...

0개의 댓글