4번 문제2
✔︎ 미션 4 (난이도 : 상)
1. 미션 제목
중복 빼고 정렬하기
2. 지시문
N개의 정수가 주어진다. 이때, N개의 정수를 오름차순으로 정렬하는 프로그램을 작성하시오. 같은 정수는 한번만 출력한다.
important
- 해당 문제에서 본인의 구현체보다 빠른 답이 있을까요? 에 대한 대답
3. 핵심 개념
#정렬 #중복 #빅오표기법 #big O notation
4. 부가 설명
- 여러 정렬 방법: https://www.geeksforgeeks.org/sorting-algorithms/
- Big O notation: https://en.wikipedia.org/wiki/Big_O_notation
😎 제출 답안
#include <stdio.h>
int main() {
int input_size, tmp;
int arr[1000] = { 0, };
scanf("%d", &input_size);
for (int i = 0; i < input_size; i++) {
scanf("%d", &tmp);
arr[tmp]++;
}
for (int j = 0; j < 1000; j++) {
if (arr[j] != 0)
printf("%d ", j);
}
printf("\n");
return 0;
}
해시 알고리즘의 특징을 이용한 트릭으로, 시간 복잡도를
n
으로 크게 낮추었다.