본문 바로가기
프로그래머스/C

[프로그래머스/C]프로그래머스 Level 1 : 자릿수 더하기 C언어

by starfish22 2021. 12. 18.
728x90

▶문제 : 코딩 테스트 연습 - 자릿수 더하기 | 프로그래머스 (programmers.co.kr)

 

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

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

programmers.co.kr

 

▶코드 작성

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int solution(int n) {
    int answer = 0;
    while(n!=0)//n==0이 될 때 종료
    {
        answer+=n%10;//10으로 나눈 나머지 값 더해줌
        n/=10;//10으로 나누어 다음 자리수로 가게끔 함
    }
    return answer;
}

 

▶해석

n을 10으로 나눈 나머지 값이 일의 자릿수 이므로 answer변수에 더해주고 다시 n을 10으로 나누어 차근차근 다음 자릿수를 구하고 그다음 자릿수를 구해 일의 자릿수를 더해준다. n==0이 되면 더 이상 10으로 나눌 수 없게 되므로 while문을 종료한다.

728x90

댓글