728x90
반응형
백준 BAEKJOON 25644번 최대 상승 [PYTHON/파이썬]
<문제 출처>
https://www.acmicpc.net/problem/25644
<풀이>
주식을 사면 샀던 날에 바로 팔 수도 있지만 (이익 : 0원)
샀던 날 이후로 팔 수 있다. (이익 : i+? 번째 날 - i 번째 날)
그중 이익이 가장 큰 값에 팔게 끔 구현해주면 된다.
이익을 최댓값으로 맞추기 위해서 리스트를 뒤에서부터 진행시켜
가장 비싸게 팔 수 있는 날을 갱신하고 가장 싸게 살 수 있는 날을 찾아서 빼주면 최댓값을 구할 수 있다.
<코드>
import sys
input = sys.stdin.readline
N = int(input())
ANA = list(map(int, input().split()))
benefit, result = 0, 0 # 이익 최댓값, 결과값 0으로 초기화
for i in range(N-1, -1, -1) : # 리스트를 뒤에서 진행
benefit = max(benefit, ANA[i]) # 주가 최댓값 찾기
result = max(result, benefit - ANA[i]) # 주가 최댓값 - i번째 주가
print(result)
728x90
반응형
'ALGORITHM > PYTHON' 카테고리의 다른 글
백준 BAEKJOON 2501번 약수 구하기 [PYTHON/파이썬] (0) | 2022.11.05 |
---|---|
백준 BAEKJOON 25497번 기술 연계마스터 임스 [PYTHON/파이썬] (0) | 2022.11.04 |
백준 BAEKJOON 21965번 드높은 남산 위에 우뚝 선 [PYTHON/파이썬] (0) | 2022.11.02 |
백준 BAEKJOON 25904번 안녕 클레오파트라 세상에서 제일가는 포테이토칩 [PYTHON/파이썬] (0) | 2022.11.01 |
백준 BAEKJOON 25183번 인생은 한 방 [PYTHON/파이썬] (0) | 2022.10.31 |