[백준] 소트인사이드 c++
2024. 9. 30. 14:42ㆍ코딩테스트
소트인사이드
시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 | 128 MB | 104243 | 68257 | 56404 | 65.792% |
문제
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
입력
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
선택 정렬을 통해 내림차순 정렬을 한다.
#include <iostream>
#include <vector>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
string N;
cin >> N;
vector<int> list(N.size());
int index = 0;
//스트링으로 받아와 배열로 바꾸기
for (int i = 0; i < N.size(); i++)
{
list[i] = N[i] - '0';
}
//index가 배열의 마지막까지 돌도록 반복한다. 값을 비교해 서로 위치를 스왑한다.
//이후 정렬된 인덱스를 제외하고 반복 한다.
while (index < N.size() - 1)
{
for (int i = index; i < N.size(); i++)
{
if (N[index] < N[i])
{
swap(N[index], N[i]);
}
}
index++;
}
for (int i = 0; i < N.size(); i++)
{
cout << N[i];
}
}
https://www.acmicpc.net/problem/1427
'코딩테스트' 카테고리의 다른 글
[백준] 수 정렬하기2 c++ (0) | 2024.10.10 |
---|---|
[백준] ATM c++ (0) | 2024.10.01 |
[백준] 버블 소트 c++ (0) | 2024.09.30 |
[백준] 수 정렬하기 (0) | 2024.09.26 |
[백준] 절대값 힙 c++ (1) | 2024.09.26 |