입력받은 정수 n의 각 자릿수를 내림차순으로 정렬한 정수를 리턴하는 문제이다.
나는 정수 n을 string 으로 변환한 후, int 형 벡터에 집어넣고 sort 함수를 돌린 후 , 다시 string 변수에 집어넣은 다음 long long 형으로 변환했다....
그냥 string 문자열 만으로도 sort 함수를 사용할 수 있다는 것을 깜박했다... 굳이 벡터 변환 -> sort 수행 -> string 변환 할 필요가 없었는데ㅠ
#include <string>
#include <vector>
#include <algorithm>
#include <stdlib.h>
using namespace std;
long long solution(long long n) {
long long answer = 0;
vector<int> temp;
string s = to_string(n);
for(int i = 0; i<s.size(); i++)
{
temp.push_back(s[i]-'0');
}
sort(temp.begin(), temp.end(), greater<int>());
string cmp;
for(int i = 0; i<temp.size(); i++)
{
cmp += to_string(temp[i]);
}
answer = stoll(cmp);
return answer;
}
'개발 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 시저 암호 (0) | 2021.01.03 |
---|---|
[프로그래머스] 이상한 암호 만들기 (0) | 2021.01.03 |
[프로그래머스] 자연수 뒤집어 배열로 만들기 (0) | 2020.12.31 |
[프로그래머스] 자릿수 더하기 (0) | 2020.12.31 |
[프로그래머스] 약수의 합 (0) | 2020.12.30 |