문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를 들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
- N의 범위 : 100,000,000 이하의 자연수
입출력 예
N | answer |
123 | 6 |
987 | 24 |
입출력 예 #1
문제의 예시와 같습니다.
입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
Solution
#include <iostream>
using namespace std;
int solution(int n) {
int answer = 0;
while (0 < n) {
answer += n % 10;
n /= 10;
}
return answer;
}
남의 코드
#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');
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
cout << "Hello Cpp" << endl;
return answer;
}
후기
내가 푼 방식은 400명이 넘게 이 방식으로 풀었다. 그리고 남의 코드에서는 문자열로 바꿔서 풀었는데 앞으로도 정 안되면 문자열로 바꾸는 걸 고민해 보도록 하겠다.
(url: https://programmers.co.kr/learn/courses/30/lessons/12931)
728x90
'연습장' 카테고리의 다른 글
연습문제 > 약수의 합 (0) | 2021.11.29 |
---|---|
연습문제 > 같은 숫자는 싫어 (0) | 2021.11.27 |
연습문제 > 자연수 뒤집어 배열로 만들기 (0) | 2021.11.27 |
연습문제 > 정수 내림차순으로 배치하기 (0) | 2021.11.27 |
연습문제 > 정수 제곱근 판별 (0) | 2021.11.27 |