본문 바로가기
알고리즘/완전탐색

[백준][Python] 17521번 Byte Coin

by 임짠짠 2022. 7. 22.
반응형
 

17521번: Byte Coin

입력은 표준입력을 사용한다. 첫 번째 줄에 요일 수를 나타내는 양의 정수 n과 초기 현금 W(1 ≤ n ≤ 15, 1 ≤ W ≤ 100,000)가 주어진다. 다음 n 개의 줄에서, i번째 줄은 i일의 바이트 코인 가격을 나

www.acmicpc.net

 

코드

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)

 

설명

만약 현재 코인 가격이 다음날 코인 가격보다 싸고 코인을 매수할 수 있는 돈이 있는 경우 코인을 매수한다.

위와 같이 상승하는 그래프가 아니고 전날보다 가격이 오른 경우 코인을 매도한다.

마지막 날은 무조건 모두 매도해야 하므로 남은 코인이 존재하는 경우 해당 가격에 모두 매도를 해준다.

반응형

댓글