https://www.acmicpc.net/problem/1427
풀이
#include <stdio.h>
int main() {
int n;
// n의값이 최대 10억이므로 자릿수는 최대 10자리
int arr[10];
scanf("%d", &n);
int m = n;
int i = 0;
// m이 1이상일때 반복
while (m>=1) {
// arr에 나머지를 할당(각 자릿수의 숫자)
arr[i] = m % 10;
// m을 뒤에서부터 한자리씩 줄인다
m = m / 10;
i++;
}
int temp;
// 선택정렬
for (int c = 0; c < i; c++) {
for (int j = c; j < i; j++) {
if (arr[c] < arr[j]) {
temp = arr[c];
arr[c] = arr[j];
arr[j] = temp;
}
}
}
for (int c = 0; c < i; c++) printf("%d",arr[c]);
return 0;
}
1. n의 각 자릿수에 맞는 숫자를 arr배열에 차례로 대입
2. arr배열을 내림차순으로 정렬
3. 출력
'코딩 > 백준 문제 (실버)' 카테고리의 다른 글
[백준/28278/C언어] 스택 2 _ 풀이 (2) | 2023.09.20 |
---|---|
[백준/11651/C언어] 좌표 정렬하기 2 _ 풀이 (0) | 2023.09.12 |
[백준/2751/C언어] 수 정렬하기 2 _ 풀이 (0) | 2023.09.07 |
[백준/2839/C언어] 설탕 배달 _ 풀이 (2) | 2023.09.06 |
[백준/1436/C언어] 영화감독 숌 _ 풀이 (0) | 2023.09.03 |