Algorithm 🧑🏻💻/백준(BOJ)
[백준,c++] 25644번 - 최대 상승
dkswnkk
2022. 9. 28. 00:00
문제
25644번: 최대 상승
미래를 예측하는 능력이 있는 정균이는 앞으로 $N$일간 ANA 회사의 주가가 어떻게 변하는지 정확히 예측할 수 있다. 정균이는 예측한 결과를 바탕으로 ANA 회사의 주식 한 주를 적당한 시점에 사고
www.acmicpc.net
코드
#include <iostream>
#include <vector>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
int N; cin>>N;
vector<int> v;
for(int i=0; i<N; i++){
int inp; cin>>inp;
v.push_back(inp);
}
int max_num = -1;
int ans = 0;
for(int i=v.size()-1; i>=0; i--){
if(v[i] > max_num){
max_num = v[i];
}
ans = max(ans, max_num - v[i]);
}
cout<<ans;
}
풀이
단순히 가장 싼 날에 사서 가장 비싼 날에 팔면 되는 문제입니다.
배열의 마지막부터 탐색을 시작하여 지금 까지 (가장 비싼 가격 - 현재 가격)인 ans = max(ans, max_num - v[i])를 수행하면 답을 얻을 수 있습니다.