Ruff! Ruff!
#1427 - 소트인사이드 본문
https://www.acmicpc.net/problem/1427
문제
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
입력
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
코드
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string n;
cin >> n;
const int size = n.size(); //변수로 입력하면 가변길이가 되어서 이상한 문자가 붙어서 출력됨
int nlist[n.size()];
for (int i =0; i< n.size(); i++) {
nlist[i] = n[i] - '0'; //string to int:스트링 형변환은 명시적 형변환이나 (int) str 같은 형식 사용 불가/ 또는 -'0' (문자에서 정수 변환)
}
sort(nlist, nlist+size, greater<>()); //greater<>() 사용하면 내림차순 정렬
for(int i =0; i<size; i++) {
cout << nlist[i];
}
cout << "\n";
return 0;
}
☁️sort() 사용법☁️
- sort(arr, arr+N);
- sort(v.begin(), v.end());
- sort(v.begin(), v.end(), compare); //사용자 정의 함수 사용
- sort(v.begin(), v.end(), greater<자료형>()); //내림차순
- sort(v.begin(), v.end(), less<자료형>()); //오름차순 (default 값)(출처: https://cocoon1787.tistory.com/189)
'백준' 카테고리의 다른 글
#[C++]1292- 쉽게 푸는 문제 (1) | 2024.01.26 |
---|---|
#[C++]2740- 행렬 곱셈 (3) | 2024.01.22 |
#1009 - 분산처리 (0) | 2024.01.20 |
#1157 - 단어공부 (0) | 2024.01.20 |
#1259 - 팰린드롬수 (0) | 2024.01.20 |