프로그래머스/C++
[level 1] 자연수 뒤집어 배열로 만들기
AsCE_hyunseung
2018. 8. 23. 03:07
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이 되기 때문이다.