λ¬Έμ
λ°±μ€ μ¨λΌμΈ μ μ§ - 17521λ²
νμ΄ κ³Όμ
λ°μ΄νΈ μ½μΈ
μ μμΈκ° μ£Όμ΄μ§ λ 맀μ λ° λ§€λλ₯Ό ν΅ν΄ μ»μ μ μλ μ΅λ μ΄μ΅μ κ³μ°νλ λ¬Έμ μ
λλ€.
맀μ λ° λ§€λ νμμ μ νμ΄ μκΈ° λλ¬Έμ κ·Έλνμ κ·Ήλ λ° κ·Ήμ
μ§μ μμ 맀λ λ° λ§€μλ₯Ό μ§ννλ 그리λ
ν΄λ²μ΄ μ μ©λ©λλ€.
κ°κ°μ μνμμ μ΄μ κ°κ²©κ³Ό λΉκ΅νμ¬ κ·Έλνμ μμΉ λ° νκ°μ νμ
ν μ μμΌλ©°
λ§μ§λ§μ 맀λνμ§ μκ³ λ¨μ μ½μΈμ΄ μ‘΄μ¬ν κ²½μ° μ΄μ μ κ·Ήμ μ§μ μμ μ½μΈμ ꡬ맀νκ³ μμ§ ν맀νμ§ λͺ»ν κ²μ΄κΈ° λλ¬Έμ
κ·Ήλ μ§μ μ κ°±μ μ€μΈ μν©μ΄λΌλ κ²μ μλ―Ένκ³ λ°λΌμ λ§μ§λ§ λ μ μμΈμ νλ©΄ μ΅λ μ΄μ΅μ μ·¨ν μ μμ΅λλ€.
μ½λ
import sys
N, W = list(map(int, sys.stdin.readline().split()))
coins = [int(sys.stdin.readline()) for _ in range(N)]
def solution(budget):
coin_count, prev = 0, coins[0]
for price in coins[1:]:
if prev > price and coin_count:
# 맀λ
budget += coin_count * prev
coin_count = 0
elif prev < price and not coin_count:
# 맀μ
coin_count = budget // prev
budget -= coin_count * prev
prev = price
# νμ¬ λ§€λνμ§ μμ μ½μΈμ΄ μλ€λ κ²μ μ΄μ μ μ΅μ κ°μ ꡬ맀ν μ΄λ ₯μ΄ μλ€λ μλ―Έ
if coin_count:
budget += coin_count * coins[-1]
return budget
print(solution(W))
'π algorithm > boj' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
BOJ 9311 - Robot in a Maze (0) | 2021.03.14 |
---|---|
BOJ 20005 - 보μ€λͺ¬μ€ν° μ 리ν (0) | 2021.03.14 |
BOJ 20363 - λΉκ·Ό ν€μ°κΈ° (0) | 2021.03.14 |
BOJ 14588 - Line Friends (Small) (0) | 2021.03.14 |
BOJ 14925 - λͺ©μ₯ 건μ€νκΈ° (0) | 2021.03.14 |
π¬ λκΈ