본문 바로가기
코테 문제

[백준] 1427번: 소트인사이드

by 케찹이 2021. 4. 3.

소트인사이드 성공분류

시간 제한메모리 제한제출정답맞은 사람정답 비율

2 초 128 MB 34009 20493 17376 60.928%

문제

배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.

입력

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

출력

첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.

예제 입력 1 복사

2143

예제 출력 1 복사

4321

 

#include<iostream>
#include<string>
#include<algorithm>

int main(){
	std::string input;
	std::cin >> input;
	
	int input_num = stoi(input,nullptr,10);
	int temp = input_num;
	int num_size = 0;
	while(temp != 0){
		temp = temp / 10;
		num_size++;
	}	
	
	int* output_num = new int[num_size];
	
	for(int i = 0; i < num_size; i++){
		output_num[i] = input_num % 10;
		input_num = input_num / 10;
	}
	std::sort(output_num, output_num+num_size);
	
	for(int i = num_size-1; i >=0; i--){
		std::cout << output_num[i];
	}
	std::cout << '\n';
	return 0;
	
}

c++로 만든다면 stoi함수와 sort함수로 편하게 만들 수 있다. 

댓글