https://www.acmicpc.net/problem/10989
10989๋ฒ: ์ ์ ๋ ฌํ๊ธฐ 3
์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 ≤ N ≤ 10,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์ซ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์๋ 10,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค.
www.acmicpc.net
๋ฌธ์
N๊ฐ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ด๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 ≤ N ≤ 10,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์ซ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์๋ 10,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค.
์ด๋ฌธ์ ๋ N์ ๊ฐฏ์๊ฐ ์๋นํ ํฌ๋ค์. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ํต์ ๋ ฌ์ด๋ ๋ณํฉ์ ๋ ฌ์ ์ฌ์ฉํ์ง ์๊ณ
๊ณ์ ์ ๋ ฌ์ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด๊ฒ ์ต๋๋ค.
๊ณ์์ ๋ ฌ์ ์ ๋ชจ๋ฅด์ ๋ค๋ฉด ์๋ ๊ธ์ ์ฝ์ด๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
https://modernalchemist.tistory.com/31
[์๋ฃ๊ตฌ์กฐ] counting sort ๊ณ์์ ๋ ฌ
์๋ ํ์ธ์ ์ฃผ์ธ์ฅ H์ ๋๋ค. ์ง๊ธ๊น์ง ์ ํ, ๋ฒ๋ธ, ์ฝ์ , ํต, ๋ณํฉ, ํ ์ ๋ ฌ์ ๊ฐ๋ ์ ๊ณต๋ถํด๋ณด์๊ณ , ๊ฐ์ฅ ๋นผ์ด ์ ๋ ฌ์ O(N * log N)์ด ๋์ค๋ ํต, ๋ณํฉ, ํ ์ ๋ ฌ ์ด์์ต๋๋ค. ํ์ง๋ง ์ด๋ณด๋ค ๋์ฑ ๋น ๋ฅธ
modernalchemist.tistory.com
๊ฐ๋จํ ์์ค์ธ๋ฐ์
๋ฐฐ์ด์ ์ซ์๋ฅผ ์ ๋ ฅ๋ฐ๊ณ
๋ฐฐ์ด์ ๋ค์ด๊ฐ ์๋ ๊ฐ๋งํผ ์ซ์๋ฅผ ์ถ๋ ฅํด์ฃผ๋ฉด ๋ฉ๋๋ค.
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
int n, m;
int a[10001];
int main() {
scanf("%d ", &n);
for (int i = 0; i < n; i++) {
scanf("%d ", &m);
a[m]++;
}
for (int i = 0; i < 10001; i++) {
while (a[i] != 0) {
printf("%d \n", i);
a[i]--;
}
}
}
'์๊ณ ๋ฆฌ์ฆ ํ์ด > baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค]์๋ฆฌ์ผ ๋ฒํธ 1431๋ฒ ๋ฌธ์ ํ์ด (0) | 2020.08.18 |
---|---|
[๋ฐฑ์ค] ๋จ์ด์ ๋ ฌ 1181๋ฒ ๋ฌธ์ ํ์ด (0) | 2020.08.18 |
[๋ฐฑ์ค] 2752 : ์ธ ์ ์ ๋ ฌ (0) | 2020.08.05 |
[๋ฐฑ์ค] 2751๋ฒ : ์ ์ ๋ ฌํ๊ธฐ 2 (0) | 2020.08.05 |
[๋ฐฑ์ค]์ ์ ๋ ฌํ๊ธฐ 2750 (0) | 2020.08.05 |