본문 바로가기
Algorithm/Programers

자릿수 더하기

by 꼬부기가우는소리 2023. 6. 6.
728x90

 

- 관련 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/12931

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

자연수 N이 주어지면, 각 자릿수의 합을 구하는 문제이다.

1) 정수 result 선언 및 0으로 초기화

2) 입력 받은 값을 10으로 나누었을 때, 나머지 값 result에 더하기

3) 입력 받은 값을 10으로 나누기

4) 입력 받은 값이 0이 될 때까지 2)와 3)의 동작 반복

 

// 풀이 1
#include <iostream>
using namespace std;

int solution(int n)
{
    int answer = 0;
    while (n > 0)
    {
        answer += (n % 10);
        n /= 10;
    }
    return answer;
}

 

숫자가 아닌 문자열로 변환 후 각 index 값을 숫자로 다시 변환하여 더해주는 방법도 있다.

이 방법을 사용하면 각 자리수를 명확히 확인할 수 있지만, 문자열로 변환 후 숫자로 재변환해야 하는 번거로움도 있다.

 

// 풀이 2
#include <string>
using namespace std;

int solution(int n)
{
    int answer = 0;
    string str = to_string(n);
    for (int idx = 0; idx < str.size(); idx++)
        answer += (str[idx] - '0');
    return answer;
}
728x90

'Algorithm > Programers' 카테고리의 다른 글

피자 나눠 먹기 (2)  (0) 2023.06.06
피자 나눠 먹기 (1)  (0) 2023.06.06
모스부호 (1)  (0) 2023.06.05
A로 B 만들기  (0) 2023.06.05
세균 증식  (0) 2023.06.05

댓글