728x90
자릿수 더하기
문제 설명
주어지는 숫자의 각 자릿수를 더하는 문제.
방법은 여러가지다, 주어지는 숫자를 to_string
으로 문자열화 하여 문자 1개씩 처리해도 되고, 숫자를 10으로 나누어 몫과 나머지를 이용하여 풀어도 된다.
문제 풀이
소스코드 : C++
문자열 변환
#include <iostream>
using namespace std;
int solution(int n){
int answer = 0;
string s = to_string(n);
for (int i = 0; i < s.length(); i++)
answer += s[i] - '0';
return answer;
}
재귀
#include <iostream>
using namespace std;
int solution(int n){
return n%10 + solution(n/10);
}
꼬리재귀
#include <iostream>
using namespace std;
int process(int sum, int n){
if(n==0) return sum;
return process(sum + n%10, n/10);
}
int solution(int n){
return process(0,n);
}
문자열 변환 |
재귀 |
꼬리 재귀 |
소스코드 : Python
def solution(n):
#return sum([int(i) for i in str(n)])
return sum(map(int,str(n)))
https://wonillism.tistory.com/17
728x90
300x250