본문 바로가기

알고리즘/기초

자연수 N의 각 자리수 합

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

제한사항
N의 범위 : 100,000,000 이하의 자연수

 

자연수 N의 1의 자리숫자를 구하는법

-> N을 10으로 나눈 나머지를 구한다

 

10의 자리숫자를 구하는 법

-> 필요없어진 1의자리를 제거하고 10으로 나눈 몫( 123%10을 오른쪽으로 한칸씩 옮긴것과종일) 을 10으로 나눈 나머지

 

100의자리수 

나머지 숫자를 오른쪽으로 이동하고 10으로 나눔.

 

더이상 이동시킬 숫자가 없을 때까지반복

 

 

 

 

답 : 

int solution(int n) {
    
    int sum = 0;
    while(n>0){
        sum += n %10;
        n /= 10; //  오른쪽이동
    }
    return sum;
  
}

'알고리즘 > 기초' 카테고리의 다른 글

직사각형 만들기  (0) 2020.06.22
길이범위에 따른 숫자 중복없는 배열  (0) 2020.06.22