Algorithm/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๊ทธ๋ฆฌ๋””(Greedy) ์•Œ๊ณ ๋ฆฌ์ฆ˜(ํƒ์š•๋ฒ•)

meeeeejin 2021. 3. 8. 17:37

๋ชฉ์ฐจ

  • Greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…
  • Greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์˜ˆ์‹œ
  • Greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๋“ค

 

 

๊ทธ๋ฆฌ๋””(Greedy) ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€

  • ํ˜„์žฌ ์ƒํ™ฉ์—์„œ ์ง€๊ธˆ ๋‹น์žฅ ์ข‹์€ ๊ฒƒ๋งŒ ๊ณ ๋ฅด๋Š” ๋ฐฉ๋ฒ•
  • ์ฆ‰, ์ „ํ›„ ๊ฒฐ์ •์— ๊ด€๊ณ„์—†์ด ๋‹น์‹œ "๊ฐ€์žฅ ์ตœ๊ณ "๋ผ๊ณ  ์ƒ๊ฐ๋˜๋Š” ๊ฒƒ์„ ์„ ํƒํ•ด์„œ ์ตœ์ ์˜ ํ•ด๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ๋กœ MST(์ตœ์†Œ์‹ ์žฅํŠธ๋ฆฌ) ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋‹ค์ต์ŠคํŠธ๋ผ(Dijkstra) ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๊ฑฐ์Šค๋ฆ„๋ˆ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค

 

 

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‰ฌ์šด ์˜ˆ์‹œ

<๊ฑฐ์Šค๋ฆ„ ๋ˆ ๋ฌธ์ œ>

์ ์›์ด ๊ณ„์‚ฐ์„ ๋งˆ์น˜๊ณ  ๊ฑฐ์Šค๋ฆ„๋ˆ์„ ๋Œ๋ ค์ฃผ๋Š” ์ƒํ™ฉ์„ ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค. ์นด์šดํ„ฐ์—๋Š” ๊ฑฐ์Šค๋ฆ„๋ˆ์œผ๋กœ ์‚ฌ์šฉํ•  500์›, 100์›, 50์›, 10์›์งœ๋ฆฌ ๋™์ „์ด ์ถฉ๋ถ„ํžˆ ๋งŽ์ด ์กด์žฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ์†๋‹˜์—๊ฒŒ N์›์„ ๊ฑฐ์Šฌ๋Ÿฌ ์ค˜์•ผ ํ•  ๋•Œ, ์ตœ์†Œ ๊ฐœ์˜ ๋™์ „์œผ๋กœ ๊ฑฐ์Šค๋ฆ„ ๋ˆ์„ ์ค„ ๋ฐฉ๋ฒ•์„ ๊ตฌํ•˜์„ธ์š”. ๋‹จ, ๊ฑฐ์Šฌ๋Ÿฌ ์ค˜์•ผ ํ•  ๋ˆ N์€ ํ•ญ์ƒ 10์˜ ๋ฐฐ์ˆ˜์ž…๋‹ˆ๋‹ค. 

์ถœ์ฒ˜: https://namu.wiki/w/%EB%8F%99%EC%A0%84

 

<ํ•ด๋‹ต>

  • ์ตœ์†Œ ๊ฐœ์ˆ˜์˜ ๋™์ „์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  ๋™์ „ ์ค‘ ๊ฐ€์žฅ ํฐ ๋‹จ์œ„๋ถ€ํ„ฐ ๊ฑฐ์Šค๋ฆ„ ๋ˆ์„ ๊ตฌ์„ฑํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. 
  • ๋จผ์ € 500์›์œผ๋กœ ๊ฑฐ์Šฌ๋Ÿฌ ์ค„ ์ˆ˜ ์žˆ๋Š” ๋งŒํผ ๋ˆ์„ ์ฃผ๊ณ , ์ดํ›„ 100์›, 50์›, 10์› ์ˆœ์„œ๋Œ€๋กœ ๊ฑฐ์Šฌ๋Ÿฌ ์ค๋‹ˆ๋‹ค. 
  • ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋™์ „ ์ค‘์—์„œ ํฐ ๋‹จ์œ„๊ฐ€ ํ•ญ์ƒ ์ž‘์€ ๋‹จ์œ„์˜ ๋ฐฐ์ˆ˜์ด๋ฏ€๋กœ ์ด ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ญ์ƒ ์ตœ์ ์˜ ํ•ด๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

 

 

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๋“ค

โœ” MST ์•Œ๊ณ ๋ฆฌ์ฆ˜

[Algorithm/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€] - MST(Minimum Spanning Tree, ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ) - Prim(ํ”„๋ฆผ), Kruskal(ํฌ๋ฃจ์Šค์นผ) ์•Œ๊ณ ๋ฆฌ์ฆ˜

 

[์•Œ๊ณ ๋ฆฌ์ฆ˜] MST(Minimum Spanning Tree, ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ) - Prim(ํ”„๋ฆผ), Kruskal(ํฌ๋ฃจ์Šค์นผ) ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ชฉ์ฐจ Spanning Tree ๊ฐœ๋… MST(์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ) ๊ฐœ๋… Prim's Algorithm Kruskal's Algorithm Spanning Tree (์‹ ์žฅ ํŠธ๋ฆฌ) ๊ทธ๋ž˜ํ”„ ๋‚ด์˜ ๋ชจ๋“  ์ •์ ๋“ค์„ ํฌํ•จํ•˜๋Š” ๊ทธ๋ž˜ํ”„์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ(subgraph) Tree ์ตœ์†Œํ•œ์˜ ๊ฐ„์„ ๋“ค๋กœ..

mjmjmj98.tistory.com

 

โœ” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๊ทธ๋ฆฌ๋”” ๋ฌธ์ œ

programmers.co.kr/learn/courses/30/parts/12244

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

โœ” ๋ฐฑ์ค€(BOJ) ๊ทธ๋ฆฌ๋”” ๋ฌธ์ œ

www.acmicpc.net/problemset?sort=ac_desc&algo=33

 

๋ฌธ์ œ - 1 ํŽ˜์ด์ง€

 

www.acmicpc.net

 

728x90