[11501] 주식 (최대 이익 구하기)

2023. 6. 9. 21:15·Coding Test/Geedy
728x90
 

11501번: 주식

입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다. 각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 날 별 주가를 나타

www.acmicpc.net

 

분석

  • 뒤에서부터 현재 주가와 최대 주가 비교
  • 최대주가와 현재 주가의 차이 더하기 (사고 팔 때 가격 차이)
  • 총 합은 최대이익

 

풀이

"""
주식 하나를 산다.
원하는 만큼 가지고 있는 주식을 판다.
아무것도 안한다.

예를 들어 날 수가 3일이고 날 별로 주가가 10, 7, 6일 때, 주가가 계속 감소하므로 최대 이익은 0이 된다.
그러나 만약 날 별로 주가가 3, 5, 9일 때는 처음 두 날에 주식을 하나씩 사고, 마지막날 다 팔아 버리면 이익이 10이 된다.
입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다.
각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고,
둘째 줄에는 날 별 주가를 나타내는 N개의 자연수들이 공백으로 구분되어 순서대로 주어진다. 날 별 주가는 10,000이하다.

"""
import sys
input=sys.stdin.readline

T=int(input())
for _ in range(T):
    N=int(input())
    a=list(map(int, input().split()))

    maxVal=a[-1]  #  최댓값 초기화
    res=0
    for i in range(N-1,-1,-1):
        maxVal=max(maxVal, a[i]) #  최댓값
        res+=maxVal-a[i]  # 최댓값 차 더하기 (사고 팔 때 가격 차)
    print(res)

 

 

 

728x90
저작자표시 비영리 변경금지 (새창열림)
'Coding Test/Geedy' 카테고리의 다른 글
  • [1439] 뒤집기 (문자열)
  • [2847] 게임을 만든 동준이 (난이도 별 레벨 감소 횟수 구하기)
  • [2217] 로프 (최대 중량 구하기)
  • [11000] 강의실 배정
Karla Ko
Karla Ko
𝘾𝙤𝙣𝙩𝙞𝙣𝙪𝙤𝙪𝙨𝙡𝙮 𝙄𝙢𝙥𝙧𝙤𝙫𝙞𝙣𝙜, 𝘾𝙤𝙣𝙨𝙩𝙖𝙣𝙩𝙡𝙮 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙞𝙣𝙜 𝙔𝙚𝙨!
    250x250
  • Karla Ko
    karlaLog
    Karla Ko
  • 전체
    오늘
    어제
    • Total (467)
      • Spring (19)
      • JPA (4)
      • Cloud & Architecture (15)
        • Kubernetes (5)
        • Docker (3)
        • MSA (2)
        • GCP (1)
        • AWS (4)
      • Devops (1)
      • Message Queue (4)
        • Kafka (2)
        • RabbitMQ (2)
      • Git (4)
      • DB (4)
      • Java (9)
      • Python (4)
      • CS (11)
        • OS (8)
        • Network (2)
        • Algorithm (1)
      • Coding Test (392)
        • programmers (156)
        • Graph (43)
        • DP (37)
        • Search (31)
        • Tree (13)
        • Data Structure (26)
        • Combination (12)
        • Implement (18)
        • Geedy (23)
        • Sort (7)
        • Math (21)
        • geometry (2)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준
    그래프
    DFS
    플로이드워셜
    월간코드챌린지
    BFS
    알고리즘
    최소신장트리
    조합
    트리
    큐
    힙
    LIS
    이분탐색
    재귀
    정렬
    구현
    덱
    최단거리
    스택
    최대공약수
    파이썬
    그리디
    다익스트라
    DP
    구간합
    Algorithm
    프로그래머스
    자료구조
    동적계획법
  • hELLO· Designed By정상우.v4.10.3
Karla Ko
[11501] 주식 (최대 이익 구하기)
상단으로

티스토리툴바