기록 보관소

[프로그래머스] 자릿수 더하기(C++) 본문

코딩 테스트/프로그래머스

[프로그래머스] 자릿수 더하기(C++)

JongHoon 2024. 3. 29. 13:56

프로그래머스 코딩 테스트 : Lv.1 문제(C++)

https://school.programmers.co.kr/learn/challenges?order=acceptance_desc&page=1&languages=cpp&levels=1

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr


프로그래머스 Lv.1 문제 : 자릿수 더하기

https://school.programmers.co.kr/learn/courses/30/lessons/12931

 

프로그래머스

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

programmers.co.kr


문제 설명

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.

예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.


제한사항

  • N의 범위 : 100,000,000 이하의 자연수

입출력 예

입출력 예
입출력 예 설명


코드

#include <iostream>

using namespace std;

int solution(int n) {
    int answer = 0;
    
    while (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');
    
    return answer;
}

결과


여담

쉽게 해결했다.

처음에 저 풀이처럼 문자열로 바꿔서 할까 했지만 괜히 더 길어질까봐 안했는데, 풀이를 보고나니 그냥 그렇게했어도 비슷했을 것 같다ㅋㅋ