문제링크: https://www.acmicpc.net/problem/1427
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
int main() {
std::ios::sync_with_stdio(false);
std::cout.tie(NULL);
std::cin.tie(NULL);
std::string s; std::cin >> s;
std::vector<char> v;
for (int i = 0; i < s.length(); i++) {
v.push_back(s[i]);
}
std::sort(v.begin(), v.end(), std::greater<>());
for (int i = 0; i < s.length(); i++) {
std::cout << v[i];
}
std::cout << "\n";
return 0;
}
std::greater<>()
로 내림차순 정렬만 할 줄 알면 풀리는 문제이다.
정렬 문제를 풀려고 하나 고른건데 너무 쉬운 문제를 고른 것 같다.
std::greater<>()
를 까먹지 말고 기억하자.