촉촉한초코칩
[백준] 1427 (소트인사이드) c언어 본문
문제
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
입력
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
먼저 입력받을 정수 변수와 정수의 길이를 확인할 변수(cnt) 두개를 선언하고
정수를 입력받는다.
그리고 정수 배열 변수를 하나 선언해서 입력받은 정수를 하나씩 넣는다. 이때 while문이 돌아가는 횟수에 따라 cnt를 하나씩 증가시킨다.
그리고 temp 변수를 선언하여
cnt만큼 돌아갈 이중for문을 만들고 하나씩 비교해서 자리가 바뀌도록 만든다.
#include <stdio.h>
int main() {
int num, cnt = 0;
scanf("%d", &num);
int num2[100];
while(num >= 1) {
num2[cnt] = num%10;
num /= 10;
cnt += 1;
}
int temp ;
for(int i=0; i< cnt; i++) {
for(int j=0; j<cnt; j++) {
if(num2[i] > num2[j]) {
temp = num2[i];
num2[i] = num2[j];
num2[j] = temp;
}
}
}
for(int i=0; i<cnt; i++) {
printf("%d", num2[i]);
}
}
'Algorithm' 카테고리의 다른 글
[백준] 7568 (덩치) c언어 (0) | 2022.08.02 |
---|---|
[백준] 2839 (설탕 배달) c언어 (0) | 2022.07.28 |
[백준] 5622 (다이얼) c언어 (0) | 2022.07.26 |
[백준] 2908번 (상수) C언어 (0) | 2022.07.14 |
[백준] 2480번 (주사위 세개) C언어 (0) | 2022.07.08 |