백준 1427 : 소트인사이드

1. 입력받은 수의 자릿수 확인

2. 자릿수만큼의 크기인 배열 생성

3. % 연산을 통해 숫자 하나하나 떼기

4. qsort로 내림차순 정렬

 

#include <stdio.h>
#include <stdlib.h>

int compare(const void *a, const void *b) {
    return *(int *)b - *(int *)a;
}

int solve() {
    int N, temp, size = 0;
    scanf("%d", &N);

    temp = N;

    while(temp > 0) {
        temp /= 10;
        size++;
    }

    int res[size];
    for(int i=0;i<size;i++)
        res[i] = 0;

    temp = N;

    for(int i=0;i<size;i++) {
        res[i] = temp % 10;
        temp /= 10;
    }

    qsort(res, sizeof(res)/sizeof(int), sizeof(int), compare);

    for(int i=0;i<size;i++)
        printf("%d", res[i]);

}

int main() {
    solve();
    return 0; 
}

 

EZ한 문제였스빈다 ㅎ

'백준 (C99) > 정렬 (完)' 카테고리의 다른 글

백준 11651 : 좌표 정렬하기 2  (0) 2022.02.06
백준 11650 : 좌표 정렬하기  (0) 2022.02.06
백준 2108 : 통계학  (0) 2022.02.05
백준 10989 : 수 정렬하기 3  (0) 2022.02.05
백준 2751 : 수 정렬하기 2  (0) 2022.02.03