STL sort 사용시 조건 지정
- n이 21억이 넘어가기 때문에 int로 불가능 ! --> long long 사용 해야함
- 문자열로 바꾼 뒤 정렬하면 해결됨
stoll()
은 string to long long 이라는 의미를 가지고 있음
- 조건을 함수로 만들지 않아도 내림차순 / 오름차순은 간단하게 표현 가능
sort(tmp.begin(), tmp.end(), greater<char>);
sort(tmp.begin(), tmp.end(), less<char>);
코드
#include <string>
#include <vector>
#include <algorithm>
>
using namespace std;
>
long long solution(long long n) {
long long answer = 0;
string tmp = to_string(n);
sort(tmp.begin(),tmp.end(),greater<char>());
answer = stoll(tmp);
return answer;
}