문제

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

입력

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

출력

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

예제 입력 1

2143

예제 출력 1

4321

더보기

Solution

#include<stdio.h>

int main(void)
{
	long long int N;
	int arr[11];

	for(int i=0;i<11;i++)
		arr[i]=-1;

	scanf("%lld", &N);

	for(int i=0;N>0;i++)
	{
		arr[i]=N%10;
		N/=10;
	}

	for(int i=0;arr[i]!=-1;i++)
		for(int j=i+1;arr[j]!=-1;j++)
			if(arr[i]<arr[j])
			{
				int temp=arr[i];
				arr[i]=arr[j];
				arr[j]=temp;
			}

	N=0;

	for(int i=0;arr[i]!=-1;i++)
	{
		N*=10;
		N+=arr[i];
	}

	printf("%lld\n", N);

	return 0;
}
728x90

+ Recent posts