728x90

๐Ÿ“ Coding Test Study/Math 4

[Math&Algorithm][C++] ์œ ํด๋ฆฌ๋””์•ˆ ๊ฑฐ๋ฆฌ(Euclidean Distance)

๋‘ ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” '์œ ํด๋ฆฌ๋””์•ˆ ๊ฑฐ๋ฆฌ'๊ณต์‹ ! ๋‘ ์  (x1, y1), (x2, y2)์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋‘ ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋Š” ๋‹ค์Œ ๊ณต์‹์œผ๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. #include #include // sqrt()์™€ pow() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด using namespace std; int main(){ int x1, y1, x2, y2; double distance; cin >> x1 >> y1 >> x2 >> x2; distance = sqrt(pow(x2-x1,2) + pow(y2 - y1, 2)); cout

Big-O ํ‘œ๊ธฐ๋ฒ•

๋ณดํ†ต 1์–ต ๋ฒˆ์˜ ์—ฐ์‚ฐ์„ ํ•˜๋Š” ๋ฐ์— 1์ดˆ๊ฐ€ ๊ฑธ๋ฆฐ๋‹ค. ๋ฌธ์ œ์—์„œ ์ œํ•œ์‹œ๊ฐ„์ด 1์ดˆ๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ตœ๋Œ€ ์—ฐ์‚ฐ ํšŸ์ˆ˜๊ฐ€ 1์–ต ๋ฒˆ์„ ๋„˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค. 1. Big-O ํ‘œ๊ธฐ๋ฒ• 1๋‹จ๊ณ„: ์ˆ˜ํ–‰๋˜๋Š” ์—ฐ์‚ฐ(์‚ฐ์ˆ , ๋น„๊ต, ๋Œ€์ž… ๋“ฑ)์˜ ๊ฐœ์ˆ˜๋ฅผ ๋Œ€๋žต์ ์œผ๋กœ ํŒ๋‹จํ•œ๋‹ค. public int Add(int N){ return N + N; } => ๋Œ€์ž…ํ•˜๋Š” 1๋ฒˆ์˜ ์—ฐ์‚ฐ public int Add2(int N){ int sum = 0; for(int i = 0; i N(for๋ฌธ) + 1(sum์— 0์„ ๋Œ€์ž…ํ•˜๋Š” ์—ฐ์‚ฐ) ๋ฒˆ์˜ ์—ฐ์‚ฐ public int Add3(int N){ int sum = 0; for(int i = 0; i N) 3. Big-O ํ‘œ๊ธฐ๋ฒ• ํฌ๊ธฐ ๋น„๊ต O(1) < O(logN) < O(N) < O(NlogN) < O(N²)

[Math&Algorithm] ์†Œ์ˆ˜?

โ–ท์†Œ์ˆ˜๋ž€? : ์•ฝ์ˆ˜๊ฐ€ 1๊ณผ ์ž๊ธฐ ์ž์‹  ๋ฐ–์— ์—†๋Š” ์ˆ˜ : 2๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , N-1๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š๋Š” ์ž์—ฐ์ˆ˜ ์†Œ์ˆ˜์˜ ์˜ˆ) 2, 3, 5, 7, 11, 13, 17, 19, 23, ... โ–ท์†Œ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•? โ‘  ์ž์—ฐ์ˆ˜ N์˜ ๊ฐ€์žฅ ํฐ ์•ฝ์ˆ˜๋Š” N/2๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฏ€๋กœ 2๋ถ€ํ„ฐ N/2๊นŒ์ง€ ๋‚˜๋ˆ ๋ณด๊ธฐ. โ‘ก ์ž์—ฐ์ˆ˜ N์„ ๋ฃจํŠธ N๊นŒ์ง€ ๋‚˜๋ˆ ๋ณด๊ธฐ. Why? N์ด ์†Œ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด N=a X b ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. (a์™€ b๋Š” ์ž์—ฐ์ˆ˜) (์ด ๋•Œ, a์™€ b๋Š” a b ๋ผ๋ฉด ๋‘ ์ˆ˜๋ฅผ ๋ฐ”๊ฟ”์„œ ํ•ญ์ƒ a

[Math&Algorithm] ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜? ์ตœ๋Œ€๊ณต๋ฐฐ์ˆ˜?

โ–ท์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ž€? : GCD(Greatest Common Divisor) : ๋‘ ์ˆ˜ A์™€ B์˜ ๊ณตํ†ต๋œ ์•ฝ์ˆ˜ ์ค‘์—์„œ ๊ฐ€์žฅ ํฐ ์ •์ˆ˜ โ–ท๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•? โ‘  2๋ถ€ํ„ฐ min(A, B)๊นŒ์ง€ ๋ชจ๋“  ์ •์ˆ˜๋กœ ๋‚˜๋ˆ ์„œ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋˜๋Š” ์ตœ๋Œ€ ์ •์ˆ˜ ์ฐพ๊ธฐ. โ‘ก ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•(Euclidean algorithm)์œผ๋กœ ์ฐพ๊ธฐ. : a๋ฅผ b๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ r ์ด๋ผ๊ณ  ํ–ˆ์„ ๋•Œ, GCD(a, b) = GCD(b, r) ์ด ์„ฑ๋ฆฝํ•œ๋‹ค. → ์žฌ๊ท€๋กœ ๊ตฌํ˜„ ๊ฐ€๋Šฅ : r์ด 0์ด๋ฉด ๊ทธ ๋•Œ์˜ b๊ฐ€ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜ ์ด๋‹ค. ex) GCD(16, 12) = GCD(12, 4) = GCD(4, 0) = 4 → GCD(a, b) = GCD(b, a%b) ๋กœ ํ‘œํ˜„ ๋จ โ–ท์ตœ๋Œ€๊ณต๋ฐฐ์ˆ˜๋ž€? : LCM(Least Common Multiple) : ๋‘ ์ˆ˜์˜ ๊ณตํ†ต๋œ ๋ฐฐ์ˆ˜ ์ค‘์—..

728x90