알고리즘 문제풀이

치킨 TOP N [백준 11582]

wiojfe 2024. 7. 21. 13:52

https://www.acmicpc.net/problem/11582

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

// 비교 함수 정의 (qsort에 사용)
int compare(const void *a, const void *b) {
    return (*(int*)a - *(int*)b);
}

int main() {
    int N, k;
    scanf("%d", &N);

    int c[N];
    for (int i = 0; i < N; i++) {
        scanf("%d", &c[i]);
    }

    scanf("%d", &k);

    int index = N / k;
    int arr[index];

    for (int i = 0; i < N; i += index) {
        // 배열 복사
        for (int j = 0; j < index && (i + j) < N; j++) {
            arr[j] = c[i + j];
        }

        // 정렬
        qsort(arr, index, sizeof(int), compare);

        // 출력
        for (int j = 0; j < index && (i + j) < N; j++) {
            printf("%d ", arr[j]);
        }
    }

    return 0;
}

 

입력에 따라서 배열을 구간별로 정령해주면 된다.