-
백준 11931번 : 수 정렬하기 4(C 언어)c c++ 언어 공부 2023. 8. 26. 14:34
https://www.acmicpc.net/problem/11931
11931번: 수 정렬하기 4
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
www.acmicpc.net
Code:
123456789101112131415161718192021222324#include <stdio.h>#include <stdlib.h>int compare(const void* a, const void* b){if (*(int*)a > *(int*)b)return -1;else if (*(int*)a < *(int*)b)return 1;else return 0;}int main() {int n;int arr[1000001] = { 0, };scanf("%d", &n);for (int i = 0; i < n; i++){scanf("%d", &arr[i]);}qsort(arr, n, sizeof(int), compare);for (int i = 0; i < n; i++){printf("%d\n", arr[i]);}}cs 문제 설명
주어진 문제는 N개의 정수를 입력받고, 이를 내림차순으로 정렬하여 출력하는 프로그램을 작성하는 것입니다. 입력은 다음과 같이 이루어집니다:
- 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어집니다.
- 둘째 줄부터 N개의 줄에는 숫자가 주어집니다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이며, 수는 중복되지 않습니다.
코드 설명
아래는 주어진 문제를 해결하기 위한 C 프로그램 코드입니다.
코드 설명:
- compare 함수는 qsort 함수에서 사용될 비교 함수입니다. 이 함수는 정수를 내림차순으로 정렬하기 위해 사용됩니다.
- main 함수는 프로그램의 진입점입니다. 먼저, 입력으로부터 수의 개수 N을 받습니다.
- 배열 arr을 선언하고, 입력받은 N개의 수를 배열에 저장합니다.
- qsort 함수를 사용하여 배열 arr을 내림차순으로 정렬합니다. 비교 함수 compare가 사용됩니다.
- 정렬된 배열을 순회하며 각 원소를 출력합니다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 16212번 : 정열적인 정렬 (C 언어) (0) 2023.08.28 백준 5800번 : 성적 통계 (C 언어) (0) 2023.08.26 백준 1439번 : 뒤집기 (C 언어) (0) 2023.08.24 백준 2485번 : 가로수 (C 언어) (0) 2023.08.24 백준 1302번 : 베스트셀러 (C 언어) (0) 2023.08.23