숫자를 정렬하는 문제
제약사항)
시간 : 2 초
메모리 : 128 MB
문제)
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
입력)
첫째 줄에 정렬하고자하는 수 N이 주어진다.
N은 1,000,000,000 보다 작거나 같은 자연수이다.
출력)
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
입출력 예제
입력 | 출력 |
2143 | 4321 |
풀이 순서)
1. 입력 N 이 공백 없이 한 줄로 주어지기 때문에 gets 함수를 이용하여 char 형으로 입력받습니다.
2. 입력 받은 수의 각 자리수를 비교하여 내림차순으로 정렬합니다.
3. puts 함수를 이용하여 정렬된 수를 출력합니다.
소스코드 및 결과 (C)
#include <stdio.h>
#include <string.h>
int main() {
char N[11] = { NULL };
int tmp;
gets(N);
for (int i = 0; i < strlen(N) - 1; i++) {
for (int j = i; j < strlen(N); j++) {
if (N[i] < N[j]) {
tmp = N[i];
N[i] = N[j];
N[j] = tmp;
}
}
}
puts(N);
return 0;
}
메모리 : 1112 KB
시간 : 0 ms
코드길이 : 290 B
'[C언어] 백준온라인 > 정렬' 카테고리의 다른 글
[C 언어] 백준 2108. 통계학 (1) | 2020.01.20 |
---|---|
[C 언어] 백준 10989. 수 정렬하기 3 (0) | 2020.01.20 |
[C 언어] 백준 2751. 수 정렬하기 2 (0) | 2020.01.20 |
[C 언어] 백준 2750. 수 정렬하기 (1) | 2020.01.20 |