[Greedy] 백준 - Byte Coin 17521번

황준승·2021년 6월 6일
0
post-thumbnail

Byte Coin 17521번

👌 문제 요약

요일 수 n, 초기 현금 W, 1일부터 n일까지 각 요일의 바이트 코인 가격이 주어질 때, n일 날 보유하고 있는 모든 코인을 매도할 때 보유하게 될 최종 현금의 최댓값을 출력하는 프로그램을 작성하시오.

🎂 코드

n, money = map(int, input().split())

lst = []

for _ in range(n):
    lst.append(int(input()))

flag = 0   # flag = 0 사야할 때, flag = 1 팔아야 할 때
coin = 0

for i in range(n-1):
    if lst[i] < lst[i+1] and flag == 0:
        coin = money // lst[i]
        money %= lst[i]
        flag = 1
    
    if lst[i] > lst[i+1] and flag == 1:
        
        money += coin * lst[i]
        coin = 0
        flag = 0

if coin != 0:
    money += coin * lst[-1]

print(money)        
profile
다른 사람들이 이해하기 쉽게 기록하고 공유하자!!

0개의 댓글