TIL

오늘의 알고리즘

oceanflow 2025. 1. 10. 22:58

자릿수 더하기

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

import java.util.*;

public class Solution {
    public int solution(int n) {
        int answer = 0;

        while(n > 0) {
            answer += n % 10;
            n /= 10;
        }

        return answer;
    }
}

 

각 자릿수를 추출하기 위해서 다음과 같은 방법을  사용했습니다:

1. 숫자를 10으로 나눈 나머지(%) 연산을 통해 현재 자릿수의 값을 얻을 수 있습니다.

2. while문은 n이 0보다 큰 동안 계속 실행되고 각 반복마다 현재 일의 자리 숫자를 추출하고

     n을 10으로 나누어(/) 다음 자릿수로 이동합니다.

 

이러한 과정을 통해 주어진 숫자의 모든 자릿수를 순차적으로 처리할 수 있습니다.

 

처음에는 String으로 변환해서 Split으로 분리해 배열에 넣으려고 하였으나 코드가 너무 길고 복잡해졌다.그러다가 10으로 나눈 나머지가 그 자리의 수가 된다는 것을 알게 되었습니다.