www.acmicpc.net/problem/1427

 

1427번: 소트인사이드

첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.

www.acmicpc.net

#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;

// sort 내림차순 정렬기준 greater<int>() 로 대체 가능
bool cmp(int a, int b)
{ return a > b; }

int main(void)
{
  string a;
  cin >> a;
  vector<int> v;
  // 입력받은 문자열 순서대로 벡터에 넣어줌
  for(int i = 0 ; i < a.length() ; i++)
  {
    v.push_back(a[i] - 48);
  }
  sort(v.begin(), v.end(), cmp);
  for(int i = 0 ; i < v.size() ; i++)
  {
    cout << v[i];
  }
  cout << endl;
}

 

[Try]

1. 문자열 입력받고 벡터에 차례대로 넣어준 뒤 정렬해서 출력

 

[Point]

1. 정렬 문제인데 sort 사용해서 푸는게 양심에 찔리긴 한다.

2. string 도 정렬이 가능하다. 이터레이터 대신 배열에서 쓰는것처럼 주소 + n 으로

3. greater<int>();

'PS > BOJ' 카테고리의 다른 글

[백준] 2941.cpp : 크로아티아 알파벳  (0) 2020.06.11
[백준] 5086.cpp : 배수와 약수  (0) 2020.06.10
[백준] 5622.cpp : 다이얼  (0) 2020.06.08
[백준] 2630.cpp : 색종이 만들기  (0) 2020.06.01
[백준] 13460.cpp : 구슬 탈출 2  (0) 2020.05.31

+ Recent posts