코테 노트/백준
백준 11501 주식 Python3
화요밍
2021. 8. 16. 02:07
728x90
반응형
https://www.acmicpc.net/problem/11501
11501번: 주식
입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다. 각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 날 별 주가를 나타
www.acmicpc.net
최종 코드
GitHub - hwayeon351/BEAKJOON-Algorithms: 백준 알고리즘 소스 코드 모음
백준 알고리즘 소스 코드 모음. Contribute to hwayeon351/BEAKJOON-Algorithms development by creating an account on GitHub.
github.com
T = int(input())
for _ in range(T):
N = int(input())
stock = list(map(int, input().split()))
earn = 0
max_p = stock[-1]
for i in range(N-2, -1, -1):
if stock[i] > max_p:
max_p = stock[i]
else:
earn += max_p-stock[i]
print(earn)
풀이 과정
T = int(input())
for _ in range(T):
N = int(input())
stock = list(map(int, input().split()))
earn = 0
#맨 마지막 값을 최대 주가로 초기화
max_p = stock[-1]
for i in range(N-2, -1, -1):
#현재 주가가 더 큰 경우, max_p 값을 현재 주가로 한다
if stock[i] > max_p:
max_p = stock[i]
#현재 주가가 최대 주가보다 작거나 같은 경우, 주식을 판다
else:
earn += max_p-stock[i]
print(earn)
#시간복잡도 = O(T*N), 공간복잡도 = O(T*N)
728x90
반응형