백준(Python) 풀이/그리디 알고리즘

백준(Python) 13238번 Bitcoin investment 풀이

개발윗미 2021. 12. 15. 11:50

Python으로 구현한 13238번 Bitcoin investment 문제 풀이입니다.

 

https://www.acmicpc.net/problem/13238

 

13238번: Bitcoin investment

Bitcoin is a digital asset and a payment system invented by Satoshi Nakamoto.  It is not known whether the name "Satoshi Nakamoto" is real or a pseudonym, or whether the name represents one person or a group of people. It was once rumoured by New Yorker M

www.acmicpc.net


n = int(input())
data = list(map(int, input().split()))

max_value = 0
for i in range(len(data) - 1) :
  value = max(data[i::])
  max_value = max(max_value, value - data[i])

print(max_value)

 

1. 반복문을 통해 data 리스트에 존재하는 값을 하나씩 확인하는데, 한번의 수행마다 현재 확인하고 있는 값부터 마지막

 

   인덱스까지 중에 최댓값을 구해 value에 할당한다.

 

2. 현재 저장되어 있는 최댓값(max_value)과 value - data[i]의 값을 비교하여 더 큰 값을 max_value로 갱신한다.

 

3. 반복문이 종료되면 최종적으로 max_value 값을 출력한다.