본문 바로가기

알고리즘 공부 및 문제 풀이/백준(BOJ)

[c++] 백준 1427 소트인사이드

백준 단계별로 풀어보기 [정렬] 소트인사이드

https://www.acmicpc.net/problem/1427

 

1427번: 소트인사이드

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

www.acmicpc.net

 

[풀이]

입력받은 수 n을 쪼개 배열에 저장한 뒤 sort 함수를 이용해 정렬한다. 이때, 내림차순으로 정렬하기 위한 cmp 함수를 정의하여 sort 함수의 인자로 전달한다.

 

[코드]

#include <iostream>
#include <algorithm>

bool cmp(const int& a, const int& b) {
	return a > b;
}

int main() {
	int n, cnt=0;
	std::cin >> n;
	int arr[10];

	while (n != 0) {
		arr[cnt++] = n % 10;
		n /= 10;
	}

	std::sort(arr, arr + cnt, cmp);

	for (int i = 0; i < cnt; i++) {
		std::cout << arr[i];
	}
	
	return 0;
}