μƒˆμ†Œμ‹

μ•Œκ³ λ¦¬μ¦˜

[μ•Œκ³ λ¦¬μ¦˜] 그리디 μ•Œκ³ λ¦¬μ¦˜μ΄λž€?(Greedy Algorithms)

  • -

 

πŸ’‘κ·Έλ¦¬λ”” μ•Œκ³ λ¦¬μ¦˜(Greedy Algorithm) 

그리디 μ•Œκ³ λ¦¬μ¦˜μ΄λž€ νƒμš•μ μΈ μ•Œκ³ λ¦¬μ¦˜μ΄λΌκ³ λ„ ν•˜λ©°, 
μ„ νƒμ˜ μˆœκ°„λ§ˆλ‹€ λ‹Ήμž₯ λˆˆμ•žμ— λ³΄μ΄λŠ” 졜적인 μƒν™©λ§Œμ„ μ«“μ•„ μ΅œμ’…μ μΈ 해닡에 λ„λ‹¬ν•˜λŠ” 방법

 

 

 

- 문제λ₯Ό ν’€κΈ°μœ„ν•œ μ΅œμ†Œν•œμ˜ 아이디어λ₯Ό λ– μ˜¬λ¦΄ 수 μžˆλŠ” λŠ₯λ ₯을 μš”κ΅¬ν•œλ‹€. 

- μ—¬λŸ¬ 경우 쀑 ν•˜λ‚˜λ₯Ό κ²°μ •ν•΄μ•Ό ν•  λ•Œλ§ˆλ‹€ κ·Έ μˆœκ°„μ— 졜적이라고 μƒκ°λ˜λŠ” 것을 선택해 λ‚˜κ°€λŠ” λ°©μ‹μœΌλ‘œ μ§„ν–‰ν•˜μ—¬ μ΅œμ’…μ μΈ 해닡에 λ„λ‹¬ν•˜λŠ” 것이닀. 

 

 

그리디 μ•Œκ³ λ¦¬μ¦˜μ„ 톡해 κ΅¬ν•œ 졜적 ν•΄
졜적 ν•΄

- 그리디 μ•Œκ³ λ¦¬μ¦˜μ€ μˆœκ°„ ν•˜λŠ” 선택은 μ§€μ—­μ μœΌλ‘œλŠ” μ΅œμ μ΄μ§€λ§Œ, κ·Έ 선택듀을 계속 μˆ˜μ§‘ν•˜μ—¬ μ΅œμ’… 해닡을 λ§Œλ“€μ—ˆλ‹€κ³  ν•΄μ„œ 그것이 μ΅œμ μ΄λΌλŠ” 보μž₯이 μ—†λ‹€

 

 

그리디 μ•Œκ³ λ¦¬μ¦˜μ€ 기쀀에 따라 쒋은 것을 μ„ νƒν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μ΄λ―€λ‘œ 문제λ₯Ό ν’€ λ•Œ 보톡  "κ°€μž₯ 큰 μˆœμ„œλŒ€λ‘œ" ν˜Ήμ€ "κ°€μž₯ μž‘μ€ μˆœμ„œλŒ€λ‘œ" 같은 기쀀을 μ œμ‹œν•΄μ€€λ‹€. 

 

 

πŸ‘Œκ·Έλ¦¬λ”” μ•Œκ³ λ¦¬μ¦˜ ν•΄κ²° 방법 

1. μ„ νƒμ ˆμ°¨ : ν˜„μž¬μƒνƒœμ—μ„œ 졜적의 ν•΄λ‹΅ 선택 

2. μ μ ˆμ„± 검사 : μ„ νƒλœ ν•΄κ°€ 문제의 쑰건에 λ§Œμ‘±ν•˜λŠ”μ§€ 검사 

3. ν•΄λ‹΅ 검사: μ›λž˜μ˜ λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆλŠ”μ§€ 검사 ν›„ ν•΄κ²°λ˜μ§€ μ•Šμ•˜λ‹€λ©΄ 선택 절차둜 λŒμ•„κ°€ μœ„μ˜ κ³Όμ • 반볡 

 

 

πŸ‘Œκ·Έλ¦¬λ”” μ•Œκ³ λ¦¬μ¦˜μ˜ 2가지 쑰건 (νƒμš•μŠ€λŸ° 선택 쑰건, 졜적 λΆ€λΆ„ ꡬ쑰 쑰건) 

1. νƒμš•μŠ€λŸ° 선택 속성: μ•žμ˜ 선택이 이후에 선택에 영ν–₯을 주지 μ•ŠλŠ”λ‹€. 

2. 졜적 λΆ€λΆ„ ꡬ쑰: λ¬Έμ œμ— λŒ€ν•œ μ΅œμ’… ν•΄κ²° 방법은 λΆ€λΆ„(지역적) λ¬Έμ œμ— λŒ€ν•œ 졜적 ν•΄κ²° 방법을 κ΅¬μ„±λœλ‹€. 

 

이 쑰건듀이 λ§Œμ‘±ν•  μ‹œ 그리디 μ•Œκ³ λ¦¬μ¦˜μ˜ μ„±λ¦½λœλ‹€. 

 

 

 

 


πŸ“Œ 그리디 μ•Œκ³ λ¦¬μ¦˜ μ˜ˆμ‹œ 

https://www.acmicpc.net/problem/5585

 

5585번: κ±°μŠ€λ¦„λˆ

νƒ€λ‘œλŠ” 자주 JOIμž‘ν™”μ μ—μ„œ 물건을 μ‚°λ‹€. JOIμž‘ν™”μ μ—λŠ” μž”λˆμœΌλ‘œ 500μ—”, 100μ—”, 50μ—”, 10μ—”, 5μ—”, 1엔이 μΆ©λΆ„νžˆ 있고, μ–Έμ œλ‚˜ κ±°μŠ€λ¦„λˆ κ°œμˆ˜κ°€ κ°€μž₯ 적게 μž”λˆμ„ μ€€λ‹€. νƒ€λ‘œκ°€ JOIμž‘ν™”μ μ—μ„œ 물건을 사

www.acmicpc.net

https://www.acmicpc.net/problem/1026

 

1026번: 보물

첫째 쀄에 N이 주어진닀. λ‘˜μ§Έ μ€„μ—λŠ” A에 μžˆλŠ” N개의 μˆ˜κ°€ μˆœμ„œλŒ€λ‘œ 주어지고, μ…‹μ§Έ μ€„μ—λŠ” B에 μžˆλŠ” μˆ˜κ°€ μˆœμ„œλŒ€λ‘œ 주어진닀. N은 50보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄κ³ , A와 B의 각 μ›μ†ŒλŠ” 100보닀 μž‘κ±°

www.acmicpc.net

 

 

Contents

ν¬μŠ€νŒ… μ£Όμ†Œλ₯Ό λ³΅μ‚¬ν–ˆμŠ΅λ‹ˆλ‹€

이 글이 도움이 λ˜μ—ˆλ‹€λ©΄ 곡감 λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.