[LeetCode] 1561. Maximum Number of Coins You Can Get
Updated:
Maximum Number of Coins You Can Get
3μ λ°°μμ κΈΈμ΄λ‘ λμ΄μλ int λ‘ μ΄λ£¨μ΄μ§ 리μ€νΈκ° μ£Όμ΄μ§λ©΄
μμ μκ΄μμ΄ λ¦¬μ€νΈμμ 3 κ°μ© λμ λ½μ λ€ μΉκ΅¬κ° κ°μ₯ ν° λμ κ°μ Έκ°κ³ κ·Έ λ€μμΌλ‘ ν° λμ λ΄κ° κ°μ Έκ°λ€.
μ΄ μμ μ λ°λ³΅νμ λ λ΄κ° κ°μ Έκ° μ μλ λμ μ΅λ μΌλ§μΈκ°λ₯Ό ꡬνλ©΄ λλ€.
μ²μμ 리μ€νΈμμ Max, Max, Min μ λ½μμ λ λ²μ§Έ Max κ°μ λν΄μ£Όλ λ°©μμΌλ‘ μ§νμ νλ€.
νμ§λ§ μ£Όμ΄μ§λ 리μ€νΈμ μ΅λ κΈΈμ΄λ λ¬΄λ € 105 μ΄μλ€. μ΅λ κΈΈμ΄λ‘ μ£Όμ΄μ‘μ κ²½μ°μ κ³μ Max, Max, Min μ λ½λλ€λ..
μκ°λ§ ν΄λ μλ¦μ΄ λλλ€. κ·Έλμ μ£Όμ΄μ§ 리μ€νΈλ₯Ό λ¨Όμ ν λ² μ λ ¬μ ν λ€ queue λ‘ λ§λ€μλ€.
κ·Έλ¦¬κ³ pop, pop, popleft λ₯Ό ν΄μ£Όμ΄ λ΅μ ꡬνλ€.
from typing import List
from collections import deque
class Solution:
def maxCoins(self, piles: List[int]) -> int:
answer = 0
queue = deque()
queue.extend(sorted(piles))
while queue:
queue.pop()
answer += queue.pop()
queue.popleft()
return answer
Leave a comment