- 문제는 주어진 배열에서 K번의 연산을 통해 얻을 수 있는 최대 점수를 찾는 것입니다. 🧮
- 각 연산에서 배열 요소를 선택하여 점수를 그 값 만큼 늘려줍니다. 📈
- 해당 요소는 3으로 나누어지고, ceiling 함수를 사용하여 올림을 합니다. 🧮
- 가장 효율적인 방법은 Max Heap을 사용하여 최대 요소를 빠르게 찾는 것입니다. 🗻
- Python에서는 내장 Max Heap이 없지만, Min Heap를 이용하여 해결할 수 있습니다. 🧙
- Python에서 Max Heap 구현을 위해서는 숫자를 음수로 변경하는 방법을 사용할 수 있습니다. 🔄
- 시간 복잡도는 Heapify 를 이용하여 초기화하는 연산과 K번의힙에서 최대값을 추출하는 연산이 결합되어 O(n log n + K log n) 입니다. ⏳