Dolphins의 HelloWorld
[백준]Baekjoon10989(정렬) 본문
문제링크 : https://www.acmicpc.net/problem/10989
문제의 의도에 맞게 접근하지 않으면 메모리 에러로 틀리기 쉬운 문제이다.
이 문제의 핵심은 10000000개의 수를 sorting해도 제한된 메모리 안에서 처리를 하게 하는것이다.
고로 수를 받는대로 vector나 배열에 모두 집어넣고 sort를 시키면 안된다.
문제의 조건을 만족시키기 위해 가장 중요한점은 sorting할 숫자가 10000을 넘지 않는다는 것이다
그래서 나는 배열의 공간을 10000개를 주고 배열값을 0으로 설정한 후
들어오는 숫자에 해당하는 배열 값을 증가시키는 방법을 택하였다.
(예를들어 num이라는 숫자가 들어오면 arr[num]++을 해준것이다.)
#include <iostream> #include <cstring> using namespace std; int main() { long long N; scanf("%lld", &N); int num; long long tmp[10001]; memset(tmp, 0, sizeof(long long) * 10001); while(N--) { scanf("%d", &num); tmp[num]++; } for (int i = 1; i <= 10000; i++) { while (tmp[i]--) printf("%d\n", i); } }
'Algorithm > baekjoon문제풀이' 카테고리의 다른 글
[백준]Baekjoon11004(정렬) (0) | 2018.08.12 |
---|---|
[백준]Baekjoon11652(정렬)(map 활용) (0) | 2018.08.12 |
[백준]Baekjoon10814(정렬) (0) | 2018.08.12 |
[백준]Baekjoon2751(정렬) (0) | 2018.08.11 |
[백준]Baekjoon9461(Dynamic Programming) (0) | 2018.08.07 |
Comments