PS/BOJ

[백준 BOJ][sort] 10989 수 정렬하기 3

Jubil 2018. 7. 24. 00:30
반응형

10989_수 정렬하기 3

링크

https://www.acmicpc.net/problem/10989

 

풀이


 

오름차순 정렬이지만 N의 범위가 10,000,000입니다. 그렇다면 배열에 담으면 메모리 초과가 나겠네요.

그래서 뒤의 조건인 이 수는 10,000보다 작거나 같은 자연수이다를 이용해서 arr[10001]을 만든 다음 입력 받은 수를 tmp라고 하면 arr[tmp]++을 해주고 출력할 때, 아래서부터 출력해주면 됩니다.

 

코드

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

#include <iostream>

#include <cstdio>

using namespace std;

 

int arr[10001];

 

int main() {

    int n;

    int i;

 

    cin >> n;

 

    for (i = 0; i < n; ++i) {

        int tmp;

        scanf("%d"&tmp);

        arr[tmp]++;

    }

 

    for (i = 1; i <= 10000++i) {

        for (int j = 0; j < arr[i]; ++j)

            printf("%d\n", i);

    }

 

    return 0;

}

Colored by Color Scripter

cs

 



반응형

'PS > BOJ' 카테고리의 다른 글

[백준 BOJ][sort] 1181 단어 정렬  (0) 2018.07.24
[백준 BOJ][sort] 11931 수 정렬하기 4  (0) 2018.07.24
[백준 BOJ][sort] 2750 수 정렬하기  (0) 2018.07.24
[백준 BOJ][DP] 9251 LCS  (0) 2018.07.18
[백준 BOJ][DP] 2156 포도주 시식  (0) 2018.06.03