์•Œ๊ณ ๋ฆฌ์ฆ˜ & ๋ฌธ์ œํ’€์ด/์•Œ๊ณ ๋ฆฌ์ฆ˜

์œ ํด๋ฆฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋ž€? 2๊ฐœ์˜ ์ •์ˆ˜ ๋˜๋Š” ๋‘ ๋‹คํ•ญ์‹์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ "A > B ์ผ๋•Œ A์™€ B์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋Š” B์™€ ๋‚˜๋จธ์ง€ R์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ๊ฐ™๋‹ค." ํฐ ์ˆ˜(A)๋ฅผ ์ž‘์€ ์ˆ˜(B)๋กœ ๋‚˜๋ˆˆ๋‹ค. ( A > B ) ๋‚˜๋ˆˆ ์ˆ˜(B)๋ฅผ A๋กœ ๋Œ€์ž… ๋‚˜๋จธ์ง€(R)์„ B๋กœ ๋Œ€์ž…ํ•˜์—ฌ ๊ณ„์† ๋‚˜๋ˆ ์ค€๋‹ค. ( A(B) % B(R) = (R)) ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋œ๋‹ค๋ฉด ์ด์ „์— B์— ๋Œ€์ž…ํ•œ R์ด ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์ด๋‹ค. ์˜ˆ์‹œ 1071์€ 1029๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, 1071์„ 1029๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•œ๋‹ค. โ‰ซ 42 1029๋Š” 42๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, 1029๋ฅผ 42๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•œ๋‹ค. โ‰ซ 21 42๋Š” 21๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง„๋‹ค. ๋ฐ˜๋ชฉ๋ฌธ const gcd =(a,b){ let tmp; while..
Greedy Algorithm ์ด๋ž€? ๋ง ๊ทธ๋Œ€๋กœ ํƒ์š•์Šค๋Ÿฌ์šด, ์š•์‹ฌ ๋งŽ์€ ์ด๋ผ๋Š” ๋œป์ด๋‹ค. ๋งค๋ฒˆ ์„ ํƒ์„ ํ•  ๋•Œ๋งˆ๋‹ค ํ•ญ์ƒ ์ตœ์„ ์˜ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•œ๋‹ค. ๊ทธ๋ฆฌ๋””๋Š” ๋งค ์„ ํƒ(์ง€์—ญ์ )์œผ๋กœ๋Š” ์ตœ์„ ์„ ํƒํ•˜์ง€๋งŒ ๊ทธ ์„ ํƒ๋“ค์ด ์ตœ์ข…(์ „์—ญ์ )์œผ๋กœ ๋ดค์„ ๋•Œ ์ตœ์„ ์ด๋ผ๋Š” ๋ณด์žฅ์€ ์—†๋‹ค. ๋งค์ˆœ๊ฐ„ ์ตœ์ ์„ ๋”ฐ๋ผ๊ฐ€๋ฉด ex) 1-1-1-100 ๋ณด๋‹ค๋Š” 1-1-10-10์ด ์ „์ฒด์ ์œผ๋กœ ๋ดค์„๋•Œ๋Š” ๋” ์งง์€ ๊ธธ ์ด๊ธฐ ๋•Œ๋ฌธ. ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์†์„ฑ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์„ฑ๋ฆฝํ•˜๋ ค๋ฉด ๋‘๊ฐ€์ง€์˜ ์กฐ๊ฑด์ด ํ•„์š”ํ•˜๋‹ค. ํƒ์š• ์„ ํƒ ์†์„ฑ (Greedy Choice Property) : ์ด์ „์˜ ์„ ํƒ์ด ๋‹ค์Œ ์„ ํƒ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค. ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ (optimal substructure) : ๋งค ์„ ํƒ์˜ ์ˆœ๊ฐ„์˜ ์ตœ์„ ์ด ์ „์—ญ์ ์— ๋Œ€ํ•œ ์ตœ์„ ์ด์–ด์•ผ ํ•œ๋‹ค. ์ดํ•ด๋ฅผ ์œ„ํ•œ ์˜ˆ์‹œ ๋ฐ ๋ฌธ์ œ ๋งˆ์‹œ..
์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋Š” ์†Œ์ˆ˜ ์ฐพ๊ธฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. "์†Œ์ˆ˜"๋ž€ 1๊ณผ ์ž์‹  ์ด์™ธ์— ์ž์—ฐ์ˆ˜๋กœ๋Š” ๋‚˜๋ˆŒ ์ˆ˜ ์—†๋Š” ์ž์—ฐ์ˆ˜์ด๋‹ค. ( 2, 5, 7 ๋“ฑ) 1~100๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ๋‚˜์—ด. ์†Œ์ˆ˜๊ฐ€ ์•„๋‹Œ 1์„ ์ œ๊ฑฐ. 2๋ฅผ ์ œ์™ธํ•œ 2์˜ ๋ฐฐ์ˆ˜๋ฅผ ์ œ๊ฑฐ. 3์„ ์ œ์™ธํ•œ 3์˜ ๋ฐฐ์ˆ˜๋ฅผ ์ œ๊ฑฐ. 4์˜ ๋ฐฐ์ˆ˜๋Š” 2์˜ ๋ฐฐ์ˆ˜๋กœ ์ด๋ฏธ ์ง€์›Œ์กŒ์œผ๋ฏ€๋กœ 5๋ฅผ ์ œ์™ธํ•œ 5์˜ ๋ฐฐ์ˆ˜๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. 6๋˜ํ•œ 3์˜ ๋ฐฐ์ˆ˜๋กœ ์ง€์›Œ์กŒ์œผ๋ฏ€๋กœ 7์„ ์ œ์™ธํ•œ 7์˜ ๋ฐฐ์ˆ˜๋ฅผ ์ œ๊ฑฐ. 11 ๋ถ€ํ„ฐ๋Š” 11^2 > 100 ์ด๊ธฐ์— ์ง€์šธ ํ•„์š”๊ฐ€ ์—†๋‹ค. ์ด๋Ÿฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ฃผ์–ด์ง„ n์ดํ•˜์˜ ์†Œ์ˆ˜๋ฅผ ์ฐพ๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๊ตฌํ˜„ function solution(n) { //n + 1 ๊ฐœ์˜ ์š”์†Œ๋ฅผ ๊ฐ€์ง„ ๋ฐฐ์—ด ์ƒ์„ฑ ๋ชจ๋‘ true๋กœ ๋ณ€๊ฒฝ ํ›„ ์†Œ์ˆ˜์ œ์™ธ๊ฐ’ 0,1 ์„ false..
์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ณ ๋ คํ•œ ํ’€์ด? ๐Ÿค” ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋ฅผ ์ฒ˜์Œ ํ’€์—ˆ์„ ๋•Œ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ์— ๊ธ‰๊ธ‰ํ–ˆ์ง€๋งŒ ๋ง‰์ƒ ํ…Œ์ŠคํŠธ์— ํ†ต๊ณผํ•˜๊ณ  ๋‚œ ํ›„ ์ด ์ฝ”๋“œ๊ฐ€ ๋งž๋‚˜? ์ด๊ฒŒ ํšจ์œจ์ ์ธ๊ฐ€?๋ผ๋Š” ์ƒ๊ฐ์„ ํ•ด๋ณธ ์ ์ด ์žˆ๋‹ค๋ฉด ์ด๋ฏธ ์‹œ๊ฐ„ ๋ณต์žก๋„์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•ด ๋ณธ ๊ฒƒ์ด๋‚˜ ๋‹ค๋ฆ„์—†๋‹ค! ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ณ ๋ คํ•œ๋‹ค๋Š” ๊ฑด ์ž…๋ ฅ๊ฐ’์— ๋”ฐ๋ผ ๋กœ์ง์ด ์‹คํ–‰๋˜๋Š” ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•˜๊ณ  ๊ฐ์†Œํ•˜๋Š” ์‹œ๊ฐ„์˜ ๋น„์œจ์„ ์ตœ์†Œํ™”ํ•˜์—ฌ ๊ตฌ์„ฑํ–ˆ๋‹ค๋Š” ๋œป์ด๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” 3๊ฐ€์ง€์˜ ํ‘œ๊ธฐ๋ฒ•์ด ์žˆ๋Š”๋ฐ Big-O(๋น…-์˜ค) -> ์ตœ์•…์„ ๊ณ ๋ ค ( ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์˜ ์ตœ๋Œ€๋ฅผ ๊ณ ๋ ค ) Big-Ω(๋น…-์˜ค๋ฉ”๊ฐ€) -> ์ตœ์„ ์„ ๊ณ ๋ ค ( ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์˜ ์ตœ์„ ์„ ๊ณ ๋ ค ) Big-θ(๋น…-์„ธํƒ€) -> ํ‰๊ท ์„ ๊ณ ๋ ค ( ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์˜ ํ‰๊ท ์„ ๊ณ ๋ ค ) ์‹œ๊ฐ„ ๋ณต์žก๋„์—์„œ ๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํ‘œ๊ธฐ๋ฒ•์€ ๋น…์˜ค ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ์ตœ์•…์„ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค...
YunCow
'์•Œ๊ณ ๋ฆฌ์ฆ˜ & ๋ฌธ์ œํ’€์ด/์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก