๋ฌธ์
N๊ฐ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ด๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 ≤ N ≤ 10,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์๋ 10,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค.
๋ธ๋ก ์ฆ 1ํฐ์ด.
์ฒ์์๋ ์๋ฌด ์๊ฐ ์์ด ๋ฐฐ์ด์๋ค๊ฐ ์ ๋ ฅ์ ๋ชจ๋ ์ ์ฅํ๊ณ , ๋ฒ๋ธ ์ ๋ ฌ ์์ผ๋ก ํ๋ฉด ๋๋ค๊ณ ์๊ฐํ๋๋ฐ
ํน์ดํ๊ฒ๋ ์ด ๋ฌธ์ ๋ ๋ฉ๋ชจ๋ฆฌ ์ ํ์ด 8MB์ด์๋ค.(์์ฃผ ์์ ํธ)
๊ทธ๋์ ๋ฐฐ์ด ํฌ๊ธฐ + ์ ๋ ฌ ์๊ฐ -> ์คํจ ์๊ฐ
// ์๋๋ ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ ์ฝ๋
int main() {
int n;
int a = 0;
int nums[10000000] = { 0, };
cin >> n;
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
for (int i = 0; i < n; i++) {
for (int j = i; j < n; j++) {
if (nums[i] > nums[j]) {
a = nums[i];
nums[i] = nums[j];
nums[j] = a;
}
}
}
for (int i = 0; i < n; i++) {
cout << nums[i] << "\n";
}
}
๊ทธ๋์ 10000๊ฐ์ง๋ฆฌ ๋ฐฐ์ด์ ๋ง๋ค๊ณ ์ ๋ ฅ๋ฐ์ ๊ณณ์ ์ธ๋ฑ์ค๋ง countํ์ฌ ๊ทธ ๊ฐฏ์๋งํผ ์ธ๋ฑ์ค๋ฅผ ์ถ๋ ฅํ๋ ๋ฐฉ์์ผ๋ก
๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ฒ์์ ์ธ๋ฐ์์ด if๋ฌธ ๋ฃ์๋ค๊ฐ ์๊ฐ ์ด๊ณผ๊ฐ ๋ ์
if๋ฌธ์ ์ง์ฐ๊ณ , cin/cout ์ ์ถ๋ ฅ ์๊ฐ ์ค์ด๋ ์ฝ๋๊น์ง ๋ฃ์ด์ ๋ง์นจ๋ด ์ฑ๊ณตํ๋ค.
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int n;
int a = 0;
int nums[10000] = { 0, };
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a;
nums[a-1] += 1;
}
for (int i = 0; i < 10000; i++) {
for (int j = 0; j < nums[i]; j++) {
cout << i + 1 << "\n";
}
}
}
'๐ ์๊ณ ๋ฆฌ์ฆ > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++/๋ฐฑ์ค] 2502 : ๋ก ๋จน๋ ํธ๋์ด (0) | 2022.08.01 |
---|---|
[C++/๋ฐฑ์ค] 11650, 11651 : ์ขํ ์ ๋ ฌํ๊ธฐ 1, 2 (0) | 2022.08.01 |
[C++/๋ฐฑ์ค] 2920 : ์๊ณ (0) | 2022.07.22 |
[C++/๋ฐฑ์ค] 2775 : ๋ถ๋ ํ์ฅ์ด ๋ ํ ์ผ (0) | 2022.07.22 |
[C++/๋ฐฑ์ค] 1712 : ์์ต๋ถ๊ธฐ์ (0) | 2022.07.22 |