[C++] 프로그래머스 자릿수 더하기
반응형
programmers.co.kr/learn/courses/30/lessons/12931
1. 서론
1학년 1학기에 푸는 level 1문제. 문자열로 바꿔서 풀까 그냥 풀까 하다가 출제 의도가 그냥일 것 같아서 그냥 풀었다.
2. 문제 풀이
자연수 n이 주어지면 각 자릿수의 합을 구하는 문제다.
예를 들어 123이면 1 + 2 + 3 = 6 즉, 6이 답이다.
나는 고전적인 방법으로 풀었다. n % 10 값을 모아서 더하고, n / 10을 해서 n이 0이 될 때까지 다시 반복하는 식이다.
이 반복이 끝나면 답을 구할 수 있다.
3. 코드 설명
#include <iostream>
using namespace std;
int solution(int n)
{
int answer = 0;
while(1)
{
if (n <= 0) break;
answer += n % 10;
n /= 10;
}
return answer;
}
answer에 n % 10한 값을 계속 더해준다. n % 10을 하면 가장 마지막 자릿수부터 차곡차곡 더할 수 있다.
123 % 10 = 3 -> 123 / 10 = 12
12 % 10 = 2 -> 12 / 10 = 1
1 % 10 = 1 -> 1 / 10 = 0
이런 식이다.
반응형
'Algorithm' 카테고리의 다른 글
[C++] 프로그래머스 정수 내림차순으로 배치하기 (0) | 2020.12.05 |
---|---|
[C++] 프로그래머스 자연수 뒤집어 배열로 만들기 (0) | 2020.12.05 |
[C++] 프로그래머스 이상한 문자 만들기 (0) | 2020.12.04 |
[C++] 프로그래머스 약수의 합 (0) | 2020.12.04 |
[C++] 프로그래머스 내적 (0) | 2020.12.04 |