View

 

알고리즘 분류: 문자열, 정렬

문제 링크: https://www.acmicpc.net/problem/1427

 

1427번: 소트인사이드

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

www.acmicpc.net

 

 

【 풀이 】

 

한 수를 입력받고 각 자릿수의 수를 내림차순으로 정렬하여 출력하는 문제이다.

 

수를 입력받은 다음 10으로 나누어가며 나머지를 벡터에 저장하고

greater<>() 임시객체를 불러 내림차순으로 정렬하여 순서대로 출력하면 된다.

 

또한 배열을 정렬하고 반대로 출력하는 것도 방법이 되겠다.

 

 

【 코드 】

 

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

vector<int>v;
int main(void)
{
	int n;
	cin >> n;
	while (1)
	{
		v.push_back(n % 10);
		n /= 10;
		if (n < 1)
			break;
	}
	sort(v.begin(), v.end(), greater<>());
	for (int i = 0; i < v.size(); i++)
		cout << v[i];
	return 0;
}
728x90
Share Link
reply
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31