1. 문제
https://www.acmicpc.net/problem/1427
1427번: 소트인사이드
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
2. 풀이과정
입력받는 1,000,000,000보다 작거나 같은 N을 문자열로 입력받고 string을 내림차순 정렬 하여 풀었다.
<algorithm>에 있는 quick sort 함수를 사용하였다.
sort 함수의 3번째 인자에 비교 함수을 명시해 주는데 아무것도 명시하지 않으면 오름차순 정렬을 수행한다.
sort함수로 string 타입의 문자열을 정렬할때는 시작과 끝을 나타내는 반복자(iterator)를 사용해야 합니다.
내림차순으로 비교하는 함수 : greater<자료형 type>()
오름차순으로 비교하는 함수 : less<자료형 type>()
참고로 bool 반환형으로하는 compare 함수를 만들어 원하는 조건으로 비교하여 정렬되게 만들 수 도 있다.
3. C++ 정답코드
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
string n;
cin >> n;
sort(n.begin(), n.end(), greater<char>());
cout << n;
return 0;
}
'🏆 PS(Problem Solving) > Baekjoon' 카테고리의 다른 글
[C++] 백준 1406 에디터 (0) | 2024.04.05 |
---|---|
[C++] 백준 4949 균형잡힌 세상 (0) | 2024.03.13 |
[C++] 백준 2563 색종이 (0) | 2024.03.09 |
[C++] 백준 18870 좌표 압축 (1) | 2024.03.01 |
[C++] 백준 10989 수 정렬하기 3 (2) | 2024.02.27 |