๐ก ์ด๋ฒ์๋ ๊ณ์ ์ ๋ ฌ ํ๋ ๋ฒ์ ๋ฐฐ์๋ณด์๋ค.
๋ฌธ์
๐ก ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ์ด ์ค๋ฆ์ฐจ์์ผ๋ก ๊ณ์ ์ ๋ ฌ ๋๊ฒ ์ฝ๋๋ฅผ ๊ตฌํํ์์ค
๋น์ฐํ ์๋ ๋ฌธ์ ๊ธฐ์ ๋์ถฉ ๋ด๊ฐ ๋ง๋ค์๋ค.
ํด๋ต
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define MAX_VALUE 10001
int n, m;
int a[MAX_VALUE];
int main() {
scanf("%d", &n);
for (int i = 0 ; i < n ; i++) {
scanf("%d", &m);
a[m]++;
}
for (int i = 0 ; i < MAX_VALUE ; i++) {
while (a[i] != 0 ) {
printf("%d ", i);
a[i]--;
}
}
return 0;
}
์ค๋ช
๊ณ์ ์ ๋ ฌ์ด๋?
Counting Sort๋ผ๊ณ ํ๋ ๊ณ์์ ๋ ฌ์ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ์ ๊ฐ์๋ฅผ ์ธ๋ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ก ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ถ๋ฅํ๋ฏ๋ก ๐(๐)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.
ํ์ง๋ง ์๋นํ ๋ง์ ๋ฉ๋ชจ๋ฆฌ ์๋น๊ฐ ์๊ธฐ ๋๋ฌธ์ MAX_VALUE๋ฅผ ์ง์ ํด์ค์ผ ํ๋ค.
2102213103
์๋๋ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ถ๋ฅํ ํ์ด๋ค.
์ธ๋ฑ์ค0123
์์ | 2 | 3 | 3 | 2 |
์ฐจ๋ก๋๋ก ์์์ ๊ฐ์๋งํผ ์ถ๋ ฅ : 0 0 1 1 1 2 2 2 3 3
main ํจ์
int main() {
scanf("%d", &n); // ์์์ ๊ฐ์๋ฅผ ์
๋ ฅํ๋ค.
for (int i = 0 ; i < n ; i++) {
scanf("%d", &m); // ์
๋ ฅ๋ ์์๋ฅผ ๋ฐ๋๋ค.
a[m]++; // ๋ฐ๋ก ํด๋น ์ธ๋ฑ์ค์ ๊ฐ์ + ํด์ค๋ค.
}
for (int i = 0 ; i < MAX_VALUE ; i++) {
while (a[i] != 0 ) { // ํด๋น ์ธ๋ฑ์ค์ ๊ฐ์ด 0์ด ์๋๋๊น์ง ์ถ๋ ฅ ํ๋ค.
printf("%d ", i);
a[i]--; // ์ถ๋ ฅ ํ ํด๋น ์ธ๋ฑ์ค์ ๊ฐ - ์ฒ๋ฆฌ ํด์ค๋ค.
}
}
return 0;
}
๋ง์น๋ฉฐ..
์ด์ ๊น์ง ์ค์์ ๊ฐ์ฅ ์ดํดํ๊ธฐ ์ฝ๊ณ ์ง๊ธฐ ์ฌ์ ๋ ์ฝ๋์๋ค.
๊ฐ๋์ ์ด๋ฐ ๊ฒ๋ ๋์์ฃผ๋ผ๊ตฌ..!