๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Study/Java

[TIL] ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜ : Greedy

by hong- 2022. 6. 1.

๐Ÿคฒ๐Ÿป ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜ Greedy

  - ๋งค ์„ ํƒ์—์„œ ํ˜„์žฌ ๋‹น์žฅ ์ตœ์ ์˜ ๋‹ต์„ ์„ ํƒํ•˜์—ฌ ์ตœ์ ์˜ ๊ฒฐ๊ณผ ๋„์ถœ

โ–ช๏ธ  ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ •

    โ‘  ์„ ํƒ ์ ˆ์ฐจ

    - ํ˜„์žฌ ์ƒํƒœ์—์„œ์˜ ์ตœ์ ์˜ ํ•ด๋‹ต์„ ์„ ํƒ

    โ‘ก ์ ์ ˆ์„ฑ ๊ฒ€์‚ฌ

    - ์„ ํƒ๋œ ํ•ด๊ฐ€ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š”์ง€ ๊ฒ€์‚ฌ

    โ‘ข ํ•ด๋‹ต ๊ฒ€์‚ฌ

    - ์›๋ž˜์˜ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๊ณ  ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์„ ํƒ์ ˆ์ฐจ๋กœ ๋Œ์•„๊ฐ€ ๋ฐ˜๋ณต


โ–ช๏ธ  ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ ์šฉ ์กฐ๊ฑด

  โ‘  ํƒ์š• ์„ ํƒ ์†์„ฑ

     - ํ•ญ์ƒ ์•ˆ์ „ํ•˜๋‹ค๋Š” ๊ฒƒ์ด ๋ณด์žฅ๋˜์–ด์•ผ ํ•จ 

     - ์ด์ „์˜ ์„ ํƒ์ด ์ดํ›„์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Œ

  โ‘ก ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ

     - ๋ถ€๋ถ„ ๋ฌธ์ œ์˜ ์ตœ์  ๊ฒฐ๊ณผ๊ฐ€ ์ „์ฒด์—๋„ ๊ทธ๋Œ€๋กœ ์ ์šฉ๋  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ


๐Ÿ’ก ๊ฐ์ฒด ์ •๋ ฌ ๊ธฐ์ค€ ๊ตฌํ˜„

  โ‘  Comparable

    - compareTo()๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•ด์„œ ๊ตฌํ˜„

    - ์ผ๋ฐ˜์ ์œผ๋กœ ์ •๋ ฌํ•  ๊ฐ์ฒด๋Š” implements๋กœ Comparable ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ตฌํ˜„

  โ‘ก Comparator

    - compare()๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•ด์„œ ๊ตฌํ˜„

    - ์ผ๋ฐ˜์ ์œผ๋กœ ๋ณ„๋„ ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•ด์„œ ๊ตฌํ˜„ ( ๋™์ผํ•œ ๊ฐ์ฒด์— ๋‹ค์–‘ํ•œ ์ •๋ ฌ ๊ธฐ์ค€์„ ๊ฐ€์ง„ ํด๋ž˜์Šค ์ž‘์„ฑ ๊ฐ€๋Šฅ )