ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [λ°±μ€€] 11501 주식 with Python
    PS 2022. 2. 24. 18:26
    728x90
    λ°˜μ‘ν˜•

    πŸ“Œ BOJ 11501 주식

    πŸ’‘ 쑰건

    1. ν™μ€€μ΄λŠ” μš”μ¦˜ 주식에 λΉ μ Έμžˆλ‹€. μ•„λž˜ 세가지 쀑 ν•˜λ‚˜μ˜ 행동을 ν•œλ‹€.

      • 주식 ν•˜λ‚˜λ₯Ό μ‚°λ‹€.
      • μ›ν•˜λŠ” 만큼 가지고 μžˆλŠ” 주식을 νŒλ‹€.
      • 아무것도 μ•ˆν•œλ‹€.
    2. ν…ŒμŠ€νŠΈμΌ€μ΄μŠ€ 수λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μžμ—°μˆ˜ T.

    3. ν…ŒμŠ€νŠΈμΌ€μ΄μŠ€ λ³„λ‘œ 첫 μ€„μ—λŠ” λ‚ μ˜ 수λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μžμ—°μˆ˜ N(2 ≀ N ≀ 1,000,000)이 주어지고,
      λ‘˜μ§Έ μ€„μ—λŠ” λ‚  별 μ£Όκ°€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” N개의 μžμ—°μˆ˜λ“€μ΄ 곡백으둜 κ΅¬λΆ„λ˜μ–΄ μˆœμ„œλŒ€λ‘œ 주어진닀.

    4. λ‚  별 μ£Όκ°€λŠ” 10,000μ΄ν•˜λ‹€.

    5. μ΅œλŒ€ 이읡이 μ–Όλ§ˆλ‚˜ λ˜λŠ”μ§€ 계산을 ν•΄ 좜λ ₯ν•˜λŠ” 문제.

    6. 그리디 μ•Œκ³ λ¦¬μ¦˜ μœ ν˜•μ˜ 문제

    πŸ–₯ μ†ŒμŠ€ μ½”λ“œ

    from sys import stdin
    
    for tc in range(int(stdin.readline())):
        n = int(stdin.readline())
        days = list(map(int, stdin.readline().split()))
        m_val, money = 0, 0
    
        for i in range(n - 1, -1, -1):
            if m_val < days[i]:
                m_val = days[i]
    
            elif m_val > days[i]:
                money += (m_val - days[i])
    
        print(money)

    πŸ”– 예제 및 μ‹€ν–‰κ²°κ³Ό

    예제

    3
    3
    10 7 6
    3
    3 5 9
    5
    1 1 3 1 2

    μ‹€ν–‰κ²°κ³Ό

    0
    10
    5

    ⌨️ 문제 풀이

    1. 이 문제의 ν‚€ν¬μΈνŠΈλŠ”, μ£Όμ‹μ˜ 예츑 값이 λ–¨μ–΄μ§ˆ λ•Œ 주식을 λͺ¨λ‘ νŒ”μ•„ 이읡을 μ±™κΈ°λŠ” 것이 μ•„λ‹Œ,
      ν˜„μž¬ κ°€κ²©μ˜ 주식을 μ–Έμ œ νŒ”μ•„μ„œ μ΅œλŒ€ 이읡을 λ‚Ό 것이냐? μž…λ‹ˆλ‹€.

    2. κ·ΈλŸ¬λ―€λ‘œ μž…λ ₯을 받은 데이터λ₯Ό μ—­μˆœνšŒν•˜λ©΄μ„œ, ν˜„μž¬ μˆœνšŒν•˜κ³  μžˆλŠ” μ£Όκ°€κ°€ μ£Όκ°€ μ΅œλŒ“κ°’λ³΄λ‹€ 크닀면 κ°±μ‹ ν•©λ‹ˆλ‹€.

    3. μˆœνšŒν•˜κ³  μžˆλŠ” μ£Όκ°€κ°€ μ£Όκ°€ μ΅œλŒ“κ°’λ³΄λ‹€ μž‘μ•„μ§€λ©΄ 좜λ ₯ν•  λ³€μˆ˜(money) 에 (μ£Όκ°€ μ΅œλŒ“κ°’ - ν˜„μž¬ 순회 ν•˜κ³  μžˆλŠ” μ£Όκ°€)λ₯Ό λ”ν•΄μ€λ‹ˆλ‹€.

    πŸ’Ύ λŠλ‚€μ 

    1. 그리디라고 λ¬΄μ§€μ„±μœΌλ‘œ κ·Έλƒ₯ λ”ν–ˆλ‹€ νŒ”μ•˜λ‹€ ν•˜λŠ”κ²Œ μ•„λ‹ˆλΌ μ—­μˆœμœΌλ‘œλ„ 생각해볼 수 있게 도와쀀 λ¬Έμ œμ˜€μŠ΅λ‹ˆλ‹€.
    2. 그리디도 μ‰½κ²Œ 볼게 μ•„λ‹ˆμ—ˆμŠ΅λ‹ˆλ‹€. 생각이 많이 μ—΄λ €μžˆμ§€ μ•Šλ‹€λŠ” κ±Έ λŠκΌˆμŠ΅λ‹ˆλ‹€.
    λ°˜μ‘ν˜•

    λŒ“κΈ€

Designed by Tistory.