ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [λ°±μ€€] 2455 지λŠ₯ν˜• κΈ°μ°¨ with Python
    PS 2023. 4. 10. 11:36
    728x90
    λ°˜μ‘ν˜•

    πŸ“Œ BOJ 2455 지λŠ₯ν˜• κΈ°μ°¨

    πŸ’‘ 쑰건

    1. κΈ°μ°¨μ—λŠ” νƒ€κ±°λ‚˜ λ‚΄λ¦¬λŠ” μ‚¬λžŒ 수λ₯Ό μžλ™μœΌλ‘œ 인식할 수 μžˆλŠ” μž₯μΉ˜κ°€ μžˆλ‹€.
      이 μž₯치λ₯Ό μ΄μš©ν•˜μ—¬ μΆœλ°œμ—­μ—μ„œ μ’…μ°©μ—­κΉŒμ§€ κ°€λŠ” 도쀑 κΈ°μ°¨ μ•ˆμ— μ‚¬λžŒμ΄ κ°€μž₯ λ§Žμ„ λ•Œμ˜ μ‚¬λžŒ 수λ₯Ό κ³„μ‚°ν•˜λ €κ³  ν•œλ‹€.
      κΈ°μ°¨λ₯Ό μ΄μš©ν•˜λŠ” μ‚¬λžŒλ“€μ€ μ§ˆμ„œ μ˜μ‹μ΄ νˆ¬μ² ν•˜μ—¬, μ—­μ—μ„œ 기차에 νƒˆ λ•Œ, 내릴 μ‚¬λžŒμ΄ λͺ¨λ‘ λ‚΄λ¦° 후에 기차에 탄닀고 κ°€μ •ν•œλ‹€.
    1. 이 κΈ°μ°¨λŠ” λ‹€μŒ 쑰건을 λ§Œμ‘±ν•˜λ©΄μ„œ μš΄ν–‰λœλ‹€κ³  κ°€μ •ν•œλ‹€.
      • κΈ°μ°¨λŠ” μ—­ 번호 μˆœμ„œλŒ€λ‘œ μš΄ν–‰ν•œλ‹€.
      • μΆœλ°œμ—­μ—μ„œ λ‚΄λ¦° μ‚¬λžŒ μˆ˜μ™€ μ’…μ°©μ—­μ—μ„œ 탄 μ‚¬λžŒ μˆ˜λŠ” 0이닀.
      • 각 μ—­μ—μ„œ ν˜„μž¬ 기차에 μžˆλŠ” μ‚¬λžŒλ³΄λ‹€ 더 λ§Žμ€ μ‚¬λžŒμ΄ λ‚΄λ¦¬λŠ” κ²½μš°λŠ” μ—†λ‹€.
      • 기차의 정원은 μ΅œλŒ€ 10,000λͺ…이고, 정원을 μ΄ˆκ³Όν•˜μ—¬ νƒ€λŠ” κ²½μš°λŠ” μ—†λ‹€.
    1. 4개의 역에 λŒ€ν•΄ κΈ°μ°¨μ—μ„œ λ‚΄λ¦° μ‚¬λžŒ μˆ˜μ™€ 탄 μ‚¬λžŒ μˆ˜κ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, 기차에 μ‚¬λžŒμ΄ κ°€μž₯ λ§Žμ„ λ•Œμ˜ μ‚¬λžŒ 수λ₯Ό κ³„μ‚°ν•˜λŠ” 문제
    1. 각 μ—­μ—μ„œ λ‚΄λ¦° μ‚¬λžŒ μˆ˜μ™€ 탄 μ‚¬λžŒ μˆ˜κ°€ λΉˆμΉΈμ„ 사이에 두고 첫째 쀄뢀터 λ„·μ§Έ μ€„κΉŒμ§€ μ—­ μˆœμ„œλŒ€λ‘œ ν•œ 쀄에 ν•˜λ‚˜μ”© 주어진닀.
    1. κ΅¬ν˜„, μˆ˜ν•™ μœ ν˜•μ˜ 문제

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

    예제 1

    0 32
    3 13
    28 25
    39 0

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

    42

    ⌨️ 문제 풀이

    1. κΈ°μ°¨λŠ” μ—­ 번호 μˆœμ„œλŒ€λ‘œ μš΄ν–‰λ˜κ³  μžˆμœΌλ‹ˆ λ”°λ‘œ 정렬을 해주지 μ•Šμ•„λ„ λœλ‹€.

    2. 각 μ—­λ§ˆλ‹€ λͺ‡ λͺ…μ˜ 인원이 κΈ°μ°¨λ₯Ό 타고 μžˆλŠ”μ§€ κ³„μ‚°ν•˜λŠ” 식은 μ•„λž˜μ™€ κ°™λ‹€.
      res += -1 * leave + on

    3. leave λ³€μˆ˜λŠ” λ‚΄λ¦° μ‚¬λžŒμ˜ 수, on 은 탄 μ‚¬λžŒμ˜ μˆ˜μ΄λ‹€.

    4. res 계산이 끝날 λ•Œλ§ˆλ‹€, ans κ°‘κ³Ό 비ꡐ해 κ°±μ‹ ν•΄μ€€λ‹€.

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

    from sys import stdin
    
    ans, res = 0, 0
    for i in range(4):
        leave, on = map(int, stdin.readline().split())
        res += -1 * leave + on
        ans = max(res, ans)
    
    print(ans)
    λ°˜μ‘ν˜•

    λŒ“κΈ€

Designed by Tistory.