파이썬 4

[백준/파이썬] 1052 물병 - 구현

문제 지민이는 N개의 물병을 가지고 있다. 각 물병에는 물을 무한대로 부을 수 있다. 처음에 모든 물병에는 물이 1리터씩 들어있다. 지민이는 이 물병을 또 다른 장소로 옮기려고 한다. 지민이는 한 번에 K개의 물병을 옮길 수 있다. 하지만, 지민이는 물을 낭비하기는 싫고, 이동을 한 번보다 많이 하기는 싫다. 따라서, 지민이는 물병의 물을 적절히 재분배해서, K개를 넘지 않는 비어있지 않은 물병을 만들려고 한다. 물은 다음과 같이 재분배 한다. 먼저 같은 양의 물이 들어있는 물병 두 개를 고른다. 그 다음에 한 개의 물병에 다른 한 쪽에 있는 물을 모두 붓는다. 이 방법을 필요한 만큼 계속 한다. 이런 제약 때문에, N개로 K개를 넘지않는 비어있지 않은 물병을 만드는 것이 불가능할 수도 있다. 다행히도,..

Algorithm 2022.07.25

[이코테] 그리디(Greedy) with Python

💡 그리디 알고리즘 탐욕법 현재 상황에서 가장 좋은 것만 고르는 방법 즉, 나중에 미칠 영향에 대해서는 고려하지 않음 🔑 코딩테스트 실전 사용법 ‘사전에 외우고 있지 않아도 풀 수 있을 가능성이 높은 문제 유형’이라는 특징 그리디 알고리즘 유형의 문제는 매우 다양해서 암기로 모두 커버 가능하지 않음 → 많은 문제를 풀어보면서 훈련해야 함 그리디 알고리즘의 종류 중 하나인 다익스트라 알고리즘은 그리디 알고리즘이면서도 ‘암기’가 필요한 알고리즘 그리디 알고리즘은 기준에 따라 가장 좋은 것을 선택하는 알고리즘이므로, 문제에서 ‘가장 큰 순서대로’, ‘가장 작은 순서대로’와 같은 기준을 알게 모르게 제시해줌 보통 이러한 기준은 곧 정렬 기준이 되므로, 정렬 알고리즘과 짝을 이뤄 많이 출제됨 대부분의 그리디 알고..

Algorithm 2022.07.14
반응형