배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1000000000보다 작거나 같은 자연수이다.
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
쉬운 문제이다. algorithm의 내장 sort함수를 이용하여 풀었다.
sort(num, num + strlen(num),greater<int>());
+처음에 코드를 제출했을 때 컴파일에러가 났다.
이는 strlen 때문인데, 비주얼스튜디오2017에서는 iostream헤더만으로 작동하나,
백준에서는 작동되지 않는다. 백준에서는 gcc 컴파일러를 이용하여 채점하고, vs에서는 c++컴파일러를 이용하기 때문이다. 따라서 cstring이나 string.h헤더를 추가해야한다.
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int main() {
char num[10];
cin >> num;
sort(num, num + strlen(num),greater<int>());
for (int i = 0; i <strlen(num); i++)
cout << num[i];
return 0;
}