정렬(Sort)
백준 1427번: 소트인사이트
cepiloth
2020. 11. 28. 18:19
반응형
1427번: 소트인사이드
첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
STL sort(n log n) 를 사용하지 않고 계수 정렬을 사용한 풀이
#include <iostream>
#include <algorithm> // min
#include <functional>
#include <math.h>
#include <string>
#include <vector>
#include <map>
#include <sstream>
using namespace std;
int main()
{
std::ios::sync_with_stdio(false);
int n; cin >> n;
vector<int> arr(10);
while (n != 0) {
int cand = n % 10;
arr.push_back(cand);
n = n / 10;
arr[cand]++;
}
for (int i = 9; i >=0 ; i--) {
int cand = arr[i];
for(int j=0; j<cand; j++) {
cout << i;
}
}
cout << "\n";
return 0;
}
STL 정렬을 사용한 풀이
#include <iostream>
#include <algorithm> // min
#include <functional>
#include <math.h>
#include <string>
#include <vector>
#include <map>
#include <sstream>
using namespace std;
int main()
{
std::ios::sync_with_stdio(false);
int n; cin >> n;
vector<int> arr;
while (n != 0) {
int cand = n % 10;
arr.push_back(cand);
n = n / 10;
}
sort(arr.begin(), arr.end(), greater <int>());
for (int i = 0; i < arr.size(); i++) {
cout << arr[i];
}
cout << "\n";
return 0;
}
반응형