Algorithm/BOJ
[백준 알고리즘/C++/그리디] 17521 Byte Coin
pinevienna
2021. 2. 9. 15:34
바이트 코인의 등락과 사용 가능한 현금이 입력됐을 때, 최고 수익을 구하는 문제
주식(비트코인)은 오르기 전에 사고 오르고 나서 팔면 된다^^!
등락이 주어졌으니 그래프가 올라가기 전에 사고, 올라갔을 때 팔면 돈을 많이 벌 수 있다
즉 i번째 날보다 i+1번째 날에 coin price가 더 높으면 가진돈으로 코인을 몽땅 사고
i+1번째 날에 다 팔아버리면 된다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <iostream>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
long long n, w, arr[15];
cin >> n >> w;
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
long long stock;
for (int i = 0; i < n - 1; i++) {
if (arr[i] < arr[i + 1]) {
stock = w / arr[i];
w %= arr[i];
w += stock * arr[i + 1];
}
}
cout << w;
}
|
cs |
오늘이 i+1번째 날인지 뭔지 계산하면 번거로우니까 i번째에 매수 매도를 한번에 해줬다