본문 바로가기

Algorithm

백준 1427번 소트인사이드 atoi(str.c_str())

반응형

 

문제

배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.

입력

첫째 줄에 정렬하고자하는 수 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];

}



}

반응형

'Algorithm' 카테고리의 다른 글

백준 2857번 FBI  (0) 2019.08.06
백준 4604번 Steganography  (0) 2019.08.05
백준 1159번 농구경기  (0) 2019.08.01
백준 2789번 유학금지  (0) 2019.07.31
백준 5586번 JOI와 IOI  (0) 2019.07.31