Algorithm
백준 1427번 소트인사이드 atoi(str.c_str())
이무쿤
2019. 8. 5. 02:01
반응형
문제
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
입력
첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
string을 int형으로 바꾸는법 atoi(str.c_str())
str에는 char형이 들어가면 안되고 char*이나 string 객체가 들어가야함. 따라서
str[i].c_str() 불가능 이거는 그냥 char형이므로 그리고 sort 내림차순은 우선순위 큐 최소 힙 만드는 것처럼
greater<int>() 이거 붙여줘야함. greater<pair<int, int> > pq 이런식 근데 힙에서는 이게 작은 값부터 큰 값이고 sort에서는 큰값에서 작은 값으로감
#include<iostream>
#include <vector>
#include<algorithm>
#include <string>
using namespace std;
string str;
vector vec;
int main (void)
{
cin >> str;
string arr;
for(int i=0; i<str.size(); i++)
{
arr = str[i];
vec.push_back(atoi(arr.c_str()));
}
sort(vec.begin(), vec.end(),greater());
for(int i=0; i<vec.size(); i++)
{
cout << vec[i];
}
}
반응형