문제
오름차순으로 입력된 수를 정렬하는 방식이다. 이 때 문제점은 제한된 시간 내에 수행되어야 한다는 점이다.
stdlib.h에서 제공하는 라이브러리를 이용하고 qsort
를 통해 퀵정렬을 사용하였다.
문제풀이
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int compare(const void* a, const void* b)
{
int num1=*(int*)a;
int num2=*(int*)b;
if (num1<num2)
{
return -1;
}
if (num1>num2)
{
return 1;
}
return 0;
}
int main(void)
{
int arr[1000100]={};
int n;
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]);
}
return 0;
}
'C C++ > C C++ 백준' 카테고리의 다른 글
C언어 백준 11651번 좌표 정렬하기 2 (0) | 2022.06.26 |
---|---|
C언어 백준 11650번 좌표 정렬하기 (0) | 2022.06.26 |
C언어 백준 11722번 가장 긴 감소하는 부분 수열 (0) | 2022.06.25 |
C언어 백준 11055번 가장 큰 증가 부분 수열 (0) | 2022.06.25 |
C언어 백준 11053번 두 수 비교하기 (0) | 2022.06.25 |
댓글