입력 : 배열의 크기 N(1<=N<=1,000,000)와 배열의 값(-1,000,000<=값<=1,000,000)
출력 : 배열의 내림차순
풀이
1. 정렬할 배열의 크기도 크고 범위도 넓기 때문에 Count Sort로 구현
2. 시간을 최대한 줄이기 위해 cin,cout이 아닌 scanf,printf로 구현
*아무리 빠르게 해도 cin,cout을 쓰면 시간초과...
소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 |
#include <iostream>
#include <cstdio>
using namespace std;
bool count[2000001];
int main() {
int n;
int temp;
cin>>n;
for(int i=0; i<n; i++){
scanf("%d\n", &temp);
count[1000000+temp] = true;
}
for(int i=2000000; i>=0; i--)
if(count[i])
printf("%d\n", i-1000000);
} |
cs |
'개발 > 알고리즘' 카테고리의 다른 글
백준 알고리즘 14500 (0) | 2019.02.19 |
---|---|
백준 알고리즘 14501 (0) | 2019.02.16 |
백준 알고리즘 13458 (0) | 2019.02.16 |
백준 알고리즘 14499 (0) | 2019.02.15 |
백준 알고리즘 12100 (0) | 2019.02.14 |