본문 바로가기
C C++/C C++ 백준

C언어 백준 2751번 수 정렬하기 2

by Go! Jake 2022. 6. 26.

문제

오름차순으로 입력된 수를 정렬하는 방식이다. 이 때 문제점은 제한된 시간 내에 수행되어야 한다는 점이다.

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;
}

댓글