풀이과정
풀이1
자연수 n을 문자열로 바꾼 뒤, reverse함수를 실행시켜 문자열을 뒤집어준다.
그리고 char -> int 하기 위해 '0'을 빼주며 answer에 넣는다.
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(long long n) {
vector<int> answer;
string str = to_string(n);
reverse(str.begin(), str.end());
for(int i = 0; i < str.size(); i++){
answer.push_back(str[i] - '0');
}
return answer;
}
풀이2
reverse함수를 직접 구현했다.
str.size() / 2까지 반복문을 돌리고 swap 함수를 구현했다.
#include <string>
#include <vector>
using namespace std;
vector<int> solution(long long n) {
vector<int> answer;
string str = to_string(n);
// swap 함수 구현
for(int i = 0; i < str.size() / 2; i++){
int temp = str[i];
str[i] = str[str.size() - 1 - i];
str[str.size() - 1 - i] = temp;
}
for(int i = 0; i < str.size(); i++){
answer.push_back(str[i] - '0');
}
return answer;
}
'🍞 Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스][Level1] 정수 제곱근 판별 c++ (0) | 2022.09.02 |
---|---|
[프로그래머스][Level1] 정수 내림차순으로 배치하기 c++ (0) | 2022.09.02 |
[프로그래머스][Level1] 자릿수 더하기 c++ (0) | 2022.09.02 |
[프로그래머스][Level1] 이상한 문자 만들기 c++ (0) | 2022.09.02 |
[프로그래머스][Level1] 약수의 합 c++ (0) | 2022.09.02 |