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이 되기 때문이다.
'프로그래머스 > C++' 카테고리의 다른 글
[level 1] 정수 내림차순으로 배치하기 (0) | 2018.08.24 |
---|---|
[level 1] 문자열 다루기 기본 (0) | 2018.08.23 |
[level 1] 2016년 (0) | 2018.08.19 |
[level 1] 같은 숫자는 싫어 (0) | 2018.08.18 |
[level 1] 문자열 내 p와 y의 개수 (0) | 2018.08.17 |