내가 작성한 코드

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;
 
int main(void) {
    int N,tmp;
    int arr[10001= { 0 };
    cin >> N;
    for (int i = 1; i <= N; i++) {
        scanf("%d"&tmp);
        arr[tmp]++;
    }
 
    for (int i = 1; i <= 10000; i++) {
        for (int j = 0; j < arr[i]; j++) {
            printf("%d\n",i);
        }
    }
}
cs
  • 기존의 방식대로 작성해 보았으나 너무 오래 걸리고 메모리도 많이 차지했기 때문에 다른 방법을 찾아보았다.
  • 10000개의 숫자가 얼마나 반복되었는지 count를 세고, 순차적으로 그 개수만큼 출력하게 했다.
  • 또한 cin과 cout을 사용해도 시간 초과가 발생했다.
  • cin -> scanf, cout -> printf

코드 채점 결과

'BAEKJOON' 카테고리의 다른 글

[BaekJoon]2156번 - 포도주 시식(점화식 dp)  (0) 2019.08.02
[BaekJoon]11652번 - 카드  (0) 2019.08.01
[BaekJoon]9465번 - 스티커  (0) 2019.07.31
[BaekJoon]2193번 - 이친수  (0) 2019.07.30
[BaekJoon]11057번 - 오르막 수  (0) 2019.07.30

+ Recent posts