https://www.acmicpc.net/problem/17521
17521번: Byte Coin
입력은 표준입력을 사용한다. 첫 번째 줄에 요일 수를 나타내는 양의 정수 n과 초기 현금 W(1 ≤ n ≤ 15, 1 ≤ W ≤ 100,000)가 주어진다. 다음 n 개의 줄에서, i번째 줄은 i일의 바이트 코인 가격을 나
www.acmicpc.net
문제 풀이
코인의 그래프를 알고 있을 때, 최대 이익을 내면 되는 문제이다.
- 코인이 저점일 때 풀매수를 때리면 된다.
- 코인이 고점일 때 풀매도를 하면 된다.
1. 현재와 다음 그래프를 비교하여 다음 그래프에서 상향이 되면 그때가 저점이므로 풀매수
2. 다음 그래프가 하향이면 현재가 고점이므로 풀매도
using System;
using System.Collections.Generic;
using System.Text;
namespace Baekjoon.silver
{
class _17521
{
static void Main(string[] args)
{
int[] n = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
long money = n[1];
long coin = 0;
int[] bit = new int[n[0]];
for (int i = 0; i < n[0]; i++)
bit[i] = int.Parse(Console.ReadLine());
int gojum = 0;
for(int i = 0; i < n[0] - 1; i++)
{
if (bit[i] < bit[i + 1])
{
gojum = i + 1;
coin += money / bit[i];
money = money % bit[i];
}
else if (bit[i] > bit[i + 1])
{
money += coin * bit[gojum];
coin = 0;
}
}
Console.WriteLine(coin * bit[gojum] + money);
}
}
}
'문제 풀이 > C#' 카테고리의 다른 글
[2606] - 바이러스 (0) | 2022.09.27 |
---|---|
[17520] - Balanced String (1) | 2022.09.26 |
[24480] - 알고리즘 수업 - 깊이 우선 탐색 2 (0) | 2022.09.26 |
[24479] - 알고리즘 수업 - 깊이 우선 탐색 1 (1) | 2022.09.25 |
[24445] - 알고리즘 수업 - 너비 우선 탐색 2 (1) | 2022.09.24 |