본문 바로가기
프로그래머스/C++

[level 1] 자연수 뒤집어 배열로 만들기

by AsCE_hyunseung 2018. 8. 23.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string>
#include <vector>
 
using namespace std;
 
vector<int> solution(long long n) {
    vector<int> answer;
 
    while (n != 0)
    {
        answer.push_back(n % 10);
        n = n / 10;
    }
    
    return answer;
}
cs


문제 설명

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.


제한 조건

n은 10,000,000,000이하인 자연수입니다.


반복문을 돌릴때 for문 대신 while문을 선택한 이유는 n의 자릿수에 따라 반복 횟수가 달라지기 때문이다.

push_back() 함수는 벡터 맨 뒤에 요소를 추가하는 메소드기 때문에 문제 조건에 알맞게 일의 자리부터 차례대로 넣어주었다.

while문을 멈추는 조건문은 n이 0이 되는 조건이다. n=n/10 연산을 하면 마지막에는 n은 0이 되기 때문이다.