Computer/Algorithm

Daily Algorithm - 문자열 정렬하기

kentakang 2018. 5. 27. 12:20
반응형

문제

알파벳 소문자로 구성된 문자열이 n개 있다. 
이 문자열을 사전순(오름차순)으로 정렬하시오.

입력

첫 번째 줄에 n이 입력된다.(1<=n<=10,000) 
1~n번째 줄까지 한 줄에 하나씩 알파벳 소문자 문자열이 입력된다.(각 문자열의 길이는 10글자 이하이다.)

출력

정렬된 결과를 출력한다.

예제 입력

4
def
ghi
abc
jkl

예제 출력

abc
def
ghi
jkl

풀이

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

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

int main()
{
	int n;
	scanf("%d", &n);
	char arr[n][11];

	for (int i = 0; i < n; i++)
	{
		scanf("%s", arr[i]);
	}
	
	qsort((void *) arr, n, sizeof(arr[0]), compare);
	
	for (int i = 0; i < n; i++)
	{
		printf("%s\n", arr[i]);
	}
}


일반적인 정렬 방식을 사용할 경우 시간 초과가 발생하는 관계로 퀵 정렬을 사용해서 풀이함.


문제 출처 : http://codeup.kr/JudgeOnline/problem.php?id=1635





반응형