프로그래머스(Level1) - 자릿수 더하기
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
문제의 예시와 같습니다.
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
첫번째 방법) n을 10으로 나눈 나머지를 answer에 더해준다. 그리고 n을 10으로 나눠준다. 이것을 n이 0이 될때까지 반복해주면 된다. 그러면 맨 뒷자리에서부터 한자리씩 접근하여 각 자리수를 더한 값을 구할 수 있다.
#include <iostream>
using namespace std;
int solution(int n){
int answer = 0;
while( n > 0 ){
answer += n%10;
n /= 10;
}
return answer;
}
두번째 방법) ascii 숫자로 변환하여 문제를 푸는 방법이 있다.
#include <iostream>
#include <string>
using namespace std;
int solution(int n)
{
int answer = 0;
string s = to_string(n);
for(int i = 0; i < s.size(); i++)
answer += (s[i] - '0');
return answer;
}