https://www.acmicpc.net/problem/10989
10989๋ฒ: ์ ์ ๋ ฌํ๊ธฐ 3
์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 ≤ N ≤ 10,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์๋ 10,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค.
www.acmicpc.net
โ ๋ฌธ์ ์ค๋ช
์ซ์ N์ ์ ๋ ฅํ ํ N๊ฐ์ ์ซ์๋ฅผ ์ ๋ ฅํ๋ฉด,
N๊ฐ์ ์ซ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ถ๋ ฅํ๋ ๋ฌธ์ ์ด๋ค.
โ ์๊ณ ๋ฆฌ์ฆ ์ค๋ช
1. C++ STL sort()
์ฒ์์๋ ๊ฐ๋จํ๊ฒ C++ STL ์ ์ฌ์ฉํ์ฌ ์ ๋ ฌ์ ํ๋ค.
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int n;
cin >> n;
vector<int> v;
while (n--) {
int a;
cin >> a;
v.push_back(a);
}
sort(v.begin(), v.end());
for (int i = 0; i < v.size(); i++) {
cout << v[i] << '\n';
}
return 0;
}
๊ทธ ๊ฒฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ๊ฐ ๋ฌ๋ค.
N์ ๊ฐ์๊ฐ ์ต๋ 10,000,000๊ฐ๊ฐ ์ฃผ์ด์ง ์ ์๊ธฐ ๋๋ฌธ์
N์ ๊ฐ์ ๋งํผ๋ง ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ค๊ณ ์ณ๋ ํ๋๋น 4byte์ฉ ์ด 40,000,000byte = 40MB๊ฐ ๋๋ค.
๋ฐ๋ผ์ ์ด ๋ฌธ์ ์ ์กฐ๊ฑด์ธ 8MB๋ฅผ ํ์ฐธ ๋ฒ์ด๋๋ ๊ฒ์ด๋ค.
2. ๋ฐฐ์ด ์ฌ์ฉ
๋ฐ๋ผ์ ์์ ๊ฐ์ ๋ฐฉ๋ฒ์ด ์๋ ์ซ์ ๋ฐฐ์ด์ ๋ง๋ค์ด์ฃผ์ด ์ฌ์ฉํ๋ค.
1) N๊ฐ์ ์๋ ๋ชจ๋ 10,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์๋ผ๊ณ ํ๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด์ 10,000๊ฐ ๋ง๋ค์ด์ค๋ค.
2) ์ซ์๋ฅผ ์ ๋ ฅํ ๋ ๋ง๋ค ๋ฐฐ์ด์ 1์ฉ ๋ํด์ฃผ์ด ํด๋น ์ซ์์ ๊ฐ์๋ฅผ ์ ์ฅํ๋ค.
3) ๋ฐฐ์ด์ ์ ์ฅ๋ ๊ฐ์๋งํผ ๋ฐ๋ณตํด์ ๊ฐ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
โ ์ฝ๋
'๐ STUDY > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C / C++] ๋ฐฑ์ค 1003๋ฒ - ํผ๋ณด๋์น ํจ์ (0) | 2022.08.26 |
---|---|
[์๊ณ ๋ฆฌ์ฆ] DP ๋์ ๊ณํ๋ฒ (0) | 2022.08.26 |
[C / C++] ๋ฐฑ์ค 1929๋ฒ - ์์ ๊ตฌํ๊ธฐ / ์๋ผํ ์คํ ๋ค์ค์ ์ฒด (0) | 2022.08.17 |
[C / C++] ๋ฐฑ์ค 11653๋ฒ - ์์ธ์๋ถํด (0) | 2022.08.12 |
[C / C++] ๋ฐฑ์ค 2562๋ฒ - ์ต๋๊ฐ (0) | 2022.07.06 |