본문 바로가기
코드문제풀이/JAVA

[자바] 자릿수 더하기

by 똥쟁이핑크 2023. 7. 6.

https://school.programmers.co.kr/learn/courses/30/lessons/12931?language=java 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명

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

 

제한사항

  • N의 범위 : 100,000,000 이하의 자연수

 

입출력 예

N answer
123 6
987 24

 

나의 문제 풀이

1) 처음에는 배열로 만들어서 전부 더하려고 했다. 그러면 Stream을 import 해야 하고 문제 자체는 그러지 않아도 풀수 있으니 level.1로 나온거 같았다.

2) 그래서 조건식을 찾아보다가 평소에 잘쓰지 않았던 while문이 생각나서 찾아보았다.

3) while 문 안에 다음과 같은 조건식을 기입하였다.

4) 자릿수를 알수 없는 n을 10으로 나눴는데 여기서 나머지는 각각의 자릿수가 되니 answer에 계속 더해 주었다.

5) 자릿수가 10이하 이면 break하였다.

import java.util.*;

public class Solution {
    public int solution(int n) {
        int answer = 0;
        while(true){
            answer += n % 10;
            if(n < 10){
                break;
            }
            n = n/10;
        }

        return answer;
    }
}