◇ 문제 설명
자연수 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 하면 됩니다.
◇ 초기 내용
※ [출처] 프로그래머스-코딩테스트 연습-문제명
※ 초기 내용을 참고하여 문제에 맞는 코드를 작성하세요.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int n) {
int answer = 0;
return answer;
}
◇ 답안
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int n) {
int answer = 0;
while(n!=0){
answer += (n%10);
n/=10;
}
return answer;
}
◇ 답안 풀이
(※ 실행 흐름 순으로 해석됩니다.)
int solution(int n) {
int answer = 0;
//n이 0이 아닐때까지 반복
while(n!=0){
//answer에 n의 각 자릿수를 더함
//어떤 값을 10으로 나눈 나머지는 그 값의 1의 자릿수를 반환하며,
//그 값을 10으로 나누면 한자리씩 감소된다.
//ex) 123 -> 123%10 = 3(일의 자리)/ 123/10 = 12 ...반복
answer += (n%10);
n/=10;
}
return answer;
}
◇ 실행결과
◇ 출처
https://programmers.co.kr/learn/challenges
코딩테스트 연습
기초부터 차근차근, 직접 코드를 작성해 보세요.
programmers.co.kr
'코딩테스트 > C언어' 카테고리의 다른 글
[Level1] 정수 제곱근 판별 답안 및 풀이 (0) | 2021.06.10 |
---|---|
[Level1] 자연수 뒤집어 배열로 만들기 답안 및 풀이 (0) | 2021.06.09 |
[Level1] 약수의 합 답안 및 풀이 (0) | 2021.06.08 |
[Level1] 이상한 문자 만들기 답안 및 풀이 (0) | 2021.06.08 |
[Level1] 문자열을 정수로 바꾸기 답안 및 풀이 (0) | 2021.06.07 |
댓글