https://www.acmicpc.net/problem/25214
로직
- 1 <= i <= j <= |A| 순서가 지켜져야함
- 1번 index부터 마지막까지 순회
- <이번 숫자(num) - 지금까지의 최소값>이 기존의 값보다 더 클 경우 최대값(aj), 해당 위치의 최소값(ai) 갱신
- 이번 숫자가 aj가 최대값 일 때 해당 위치의 최소값(ai) 보다 작을 경우 nai에 값을 저장
- 이렇게 저장된 nai와 이번숫자(num)과 기존의 값(aj - ai)를 비교해 나감
N = int(input())
nums = list(map(int,input().split()))
ai,aj,nai = nums[0],nums[0],nums[0]
for num in nums:
if num - nai > aj - ai:
aj = num
ai = nai
elif num < nai:
nai = num
print(aj-ai,end=' ')
'알고리즘 문제 풀이 > Python' 카테고리의 다른 글
python 백준 9655 돌 게임 (0) | 2023.03.30 |
---|---|
python 백준 10986 나머지 합 (0) | 2023.03.21 |
python 백준 1103 게임 (0) | 2023.02.10 |
python 백준 2665 미로만들기 (0) | 2023.02.02 |
python 백준 27210 신을 모시는 사당 (0) | 2023.01.25 |