ํ๋ก๊ทธ๋จ ๊ตฌํ ์ ์ ์๊ฐ๋ณต์ก๋๋ฅผ ๋ฏธ๋ฆฌ ๊ณ์ฐํด๋ด์ผํ๋ค.
๋ฌธ์ ์์ ์ฃผ์ด์ง๋ ์๊ฐ/๋ฉ๋ชจ๋ฆฌ ์ ํ์ ๋ฒ์ด๋๋ ์ง๋ฅผ ํ์ธํด๋ด์ผํ๊ธฐ ๋๋ฌธ์ด๋ค.
* ํ์ ํ์๋น ๊ฑธ๋ฆฌ๋ ์๊ฐ
1์ต (100,000,000 = 10^8 ) → 1์ด
10์ต = 1,000,000,000 = 10^9 → 10์ด
์๋ฅผ ๋ค์ด int๋ 4byte๋ก -2,147,483,648~ 2,147,483,647 ๋ฒ์์ด๊ธฐ ๋๋ฌธ์
ํฌ๊ธฐ๋ก ๋ณด๋ฉด "21์ต"์ด๋ฉฐ for๋ฌธ์ผ๋ก ํ์ํ๋ค๋ฉด 21์ด๊ฐ ์์๋๋ค.
* ์๊ฐ ๋ณต์ก๋ Big-O(๋น ์ค) ํฌ๊ธฐ ๋น๊ต
O(1) < O(log n) < O(n) < O(n log n) < O(N^2) < O(2^n) < O(n!) < O(n^n)
* N=1์ต ์ด๋ผ๊ณ ํ์ ๋, ๋น ์คํ๊ธฐ๋ฒ์ ๋ฐ๋ฅธ ์คํ์๊ฐ
์ฆ, ์คํ์๊ฐ์ด 1์ด๋ก ์ ํ๋์ด ์๋ค๋ฉด O(N)์ ํ์๋ฌธ์ผ๋ก ๋๋๋์ง๋ฅผ ํ์ธํด๋ด์ผ ํ๋ค.
* ์คํ์๊ฐ์ ์ธก์ ํ๋ ๋ฐฉ๋ฒ
1) time() ํจ์
#include <iostream>
#include <time.h>
int main() {
int sum = 0;
time_t start = time(NULL);
for (int i = 0; i < 10000; i++)
for (int j = 0; j < 10000; j++)
sum += i * j;
time_t end = time(NULL);
cout << "์์์๊ฐ: ", << (double)(end - start));
}
2) clock() ํจ์
#include <iostream>
#include <time.h>
int main() {
clock_t start = clock();
int sum = 0;
for (int i = 0; i < 10000; ++i)
for(int j = 0; j < 10000; ++j)
sum += 1;
clock_t end = clock();
cout << "์์ ์๊ฐ: " << (double)(end - start) / CLOCKS_PER_SEC);
}
=> ์์๋ถ๋ถ๊ณผ ๋๋ถ๋ถ์ ์๊ฐ์ ์ ์ฅํด์ ๋บ์ผ๋ก์จ ๊ตฌํ ์ ์๋ค.
* ๊ตฌํ๋ฒ์ ๋ฐ๋ฅธ ๋น ์ค ๊ณ์ฐ
'๐ Coding Test Study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++][๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ] ๊ตฌํ ๋ฐฉ๋ฒ (0) | 2021.07.29 |
---|---|
C++ ๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ (0) | 2021.05.20 |
DP(Dynamic Programming)? (0) | 2021.04.27 |
[Algorithm&์๋ฃ๊ตฌ์กฐ] BFS/DFS? (0) | 2021.04.13 |
[์๋ฃ๊ตฌ์กฐ&์๊ณ ๋ฆฌ์ฆ] ๊ทธ๋ํ? (0) | 2021.04.13 |