C++)
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(void) {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n, temp;
cin >> n;
vector<int> v;
for (int idx = 0; idx < n; idx++) {
cin >> temp;
v.push_back(temp);
}
int start = v.at(0);
int ans = 0;
for (int idx = 1; idx < n; idx++) {
if (v.at(idx - 1) < v.at(idx))
ans = max(ans, v.at(idx) - start);
else
start = v.at(idx);
}
cout << ans;
return 0;
}
Python)
import sys
read = sys.stdin.readline
n = int(read().rstrip())
arr = list(map(int, read().rstrip().split()))
road_start = arr[0]
ans = 0
for idx in range(1, len(arr)):
# 오르막길
if arr[idx-1] < arr[idx]:
ans = max(ans, arr[idx] - road_start)
# 내리막길
else:
road_start = arr[idx]
print(ans)
이전에 나온 높이와 비교해서 '이전 높이 < 현재 높이' 라면 오르막길이므로 최대값을 계속 비교하고
그렇지 않다면 (이전높이 >= 현재높이) 내리막길이라는 뜻이므로 오르막길의 초입 (start)를 계속 갱신한다.
'백준 1 > 기초' 카테고리의 다른 글
| [백준 5622] 다이얼 (C++/Python) (0) | 2020.12.05 |
|---|---|
| [백준 11399] ATM (C++/Python) (0) | 2020.12.05 |
| [백준 5585] 거스름돈 (C++/Python) (0) | 2020.12.05 |
| [백준 10797] 10부제 (C++/Python) (0) | 2020.12.05 |
| [백준 1193] 분수 찾기 (C++/Python) (0) | 2020.12.05 |