티스토리 뷰

https://programmers.co.kr/learn/courses/30/lessons/12931

 

코딩테스트 연습 - 자릿수 더하기

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출

programmers.co.kr

 

[문제 풀이]

 

1. 각 자리의 수를 더해야 한다.

2. 숫자 abc가 있을 경우

  2-1. a는 100a, b는 10b, c는 c로 표현할 수 있다.

  2-2. abc를 10으로 나눈 나머지를 구하면 c를 구할 수 있다.

  2-3. abc를 10으로 나누면 10a와 b만 남게 된다.

  2-4. 2-2와 2-3을 반복하면서 마지막 자리 숫자를 구한 후, 이 수를 모두 더한다.

 

[소스 코드]

 

import java.util.Arrays;

public class AddDigits {
    public static void main(String[] args) {
        int n = 987;

        System.out.println(solution(n));
    }

    private static int solution(int n) {
        int answer = 0;
        
        while (n != 0) {
            answer += n % 10;
            n /= 10;
        }
        
        return answer;
    }
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함