반응형
코드
n,w = map(int,input().split())
coin = []
cnt = 0
for _ in range(n):
coin.append(int(input()))
for i in range(n-1):
if coin[i] < coin[i+1]:
if w // coin[i] > 0:
cnt = w // coin[i]
w = w % coin[i]
elif coin[i] > coin[i-1]:
w += cnt*coin[i]
cnt = 0
if cnt != 0:
w += cnt*coin[-1]
print(w)
설명
만약 현재 코인 가격이 다음날 코인 가격보다 싸고 코인을 매수할 수 있는 돈이 있는 경우 코인을 매수한다.
위와 같이 상승하는 그래프가 아니고 전날보다 가격이 오른 경우 코인을 매도한다.
마지막 날은 무조건 모두 매도해야 하므로 남은 코인이 존재하는 경우 해당 가격에 모두 매도를 해준다.
반응형
'알고리즘 > 완전탐색' 카테고리의 다른 글
[백준][Python] 15779번 Zigzag (0) | 2022.07.25 |
---|---|
[백준][Python] 16439번 치킨치킨치킨 (0) | 2022.07.22 |
[백준][Python] 14912번 숫자 빈도수 (0) | 2022.07.21 |
[백준][Python] 1251번 단어 나누기 (0) | 2022.07.21 |
[백준][Python] 11170번 0의 개수 (0) | 2022.07.20 |
댓글