문제
https://www.acmicpc.net/problem/1427
소스코드
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
bool desc(int a, int b) {
return a > b;
}
int main(void) {
string s;
cin >> s;
int len = s.length();
vector<int> arr(len);
for (int i = 0; i < len; i++) {
arr[i] = s[i]-'0';
}
sort(arr.begin(), arr.end(), desc);
for (int i = 0; i < len; i++) {
cout << arr[i];
}
}
포인트 1. 숫자를 string으로 받았을 때 int로 바꾸려면 - '0' 을 해주면 된다.
포인트 2. 내림차순으로 정렬하고 싶을 때는 desc 함수를 만들어서 사용하면 된다. 원래 greater<int>()를 사용하면 됐었는데 왜 안되는지 모르겠다.
'개인 공부 > 코딩테스트' 카테고리의 다른 글
[C++][백준 7576][BFS / DFS] 토마토 :: seoftware (0) | 2020.02.29 |
---|---|
[C++][백준 1026 ][정렬] 보물 :: seoftware (0) | 2020.02.29 |
[미해결][Kick Start] Practice Round 2019 Kickstart Alarm :: seoftware (0) | 2020.02.29 |
[Kick Start][Practice Round 2019] Mural :: seoftware (0) | 2020.02.28 |
[C++][백준 1931][그리디 알고리즘] 회의실배정 :: seoftware (0) | 2020.02.28 |
댓글