[๋ฐฑ์ค€] 14501. ํ‡ด์‚ฌ/Python - Silver3

2025. 7. 23. 16:46ยทCoding Test/Algorithms

โ“๋ฌธ์ œ

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

์„ฑ๋Šฅ ์š”์•ฝ

๋ฉ”๋ชจ๋ฆฌ: 32412 KB, ์‹œ๊ฐ„: 36 ms

๋ฌธ์ œ ์„ค๋ช…

์ƒ๋‹ด์›์œผ๋กœ ์ผํ•˜๊ณ  ์žˆ๋Š” ๋ฐฑ์ค€์ด๋Š” ํ‡ด์‚ฌ๋ฅผ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

์˜ค๋Š˜๋ถ€ํ„ฐ N+1์ผ์งธ ๋˜๋Š” ๋‚  ํ‡ด์‚ฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ, ๋‚จ์€ N์ผ ๋™์•ˆ ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์ƒ๋‹ด์„ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

๋ฐฑ์ค€์ด๋Š” ๋น„์„œ์—๊ฒŒ ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์ƒ๋‹ด์„ ์žก์œผ๋ผ๊ณ  ๋ถ€ํƒ์„ ํ–ˆ๊ณ , ๋น„์„œ๋Š” ํ•˜๋ฃจ์— ํ•˜๋‚˜์”ฉ ์„œ๋กœ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ƒ๋‹ด์„ ์žก์•„๋†“์•˜๋‹ค.

๊ฐ๊ฐ์˜ ์ƒ๋‹ด์€ ์ƒ๋‹ด์„ ์™„๋ฃŒํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ๊ธฐ๊ฐ„ Ti์™€ ์ƒ๋‹ด์„ ํ–ˆ์„ ๋•Œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ธˆ์•ก Pi๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

N = 7์ธ ๊ฒฝ์šฐ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒ๋‹ด ์ผ์ •ํ‘œ๋ฅผ ๋ณด์ž.

  1์ผ 2์ผ 3์ผ 4์ผ 5์ผ 6์ผ 7์ผ
Ti 3 5 1 1 2 4 2
Pi 10 20 10 20 15 40 200

1์ผ์— ์žกํ˜€์žˆ๋Š” ์ƒ๋‹ด์€ ์ด 3์ผ์ด ๊ฑธ๋ฆฌ๋ฉฐ, ์ƒ๋‹ดํ–ˆ์„ ๋•Œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ธˆ์•ก์€ 10์ด๋‹ค. 5์ผ์— ์žกํ˜€์žˆ๋Š” ์ƒ๋‹ด์€ ์ด 2์ผ์ด ๊ฑธ๋ฆฌ๋ฉฐ, ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ธˆ์•ก์€ 15์ด๋‹ค.

์ƒ๋‹ด์„ ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๊ธฐ๊ฐ„์€ 1์ผ๋ณด๋‹ค ํด ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ชจ๋“  ์ƒ๋‹ด์„ ํ•  ์ˆ˜๋Š” ์—†๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ 1์ผ์— ์ƒ๋‹ด์„ ํ•˜๊ฒŒ ๋˜๋ฉด, 2์ผ, 3์ผ์— ์žˆ๋Š” ์ƒ๋‹ด์€ ํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค. 2์ผ์— ์žˆ๋Š” ์ƒ๋‹ด์„ ํ•˜๊ฒŒ ๋˜๋ฉด, 3, 4, 5, 6์ผ์— ์žกํ˜€์žˆ๋Š” ์ƒ๋‹ด์€ ํ•  ์ˆ˜ ์—†๋‹ค.

๋˜ํ•œ, N+1์ผ์งธ์—๋Š” ํšŒ์‚ฌ์— ์—†๊ธฐ ๋•Œ๋ฌธ์—, 6, 7์ผ์— ์žˆ๋Š” ์ƒ๋‹ด์„ ํ•  ์ˆ˜ ์—†๋‹ค.

ํ‡ด์‚ฌ ์ „์— ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒ๋‹ด์˜ ์ตœ๋Œ€ ์ด์ต์€ 1์ผ, 4์ผ, 5์ผ์— ์žˆ๋Š” ์ƒ๋‹ด์„ ํ•˜๋Š” ๊ฒƒ์ด๋ฉฐ, ์ด๋•Œ์˜ ์ด์ต์€ 10+20+15=45์ด๋‹ค.

์ƒ๋‹ด์„ ์ ์ ˆํžˆ ํ–ˆ์„ ๋•Œ, ๋ฐฑ์ค€์ด๊ฐ€ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ˆ˜์ต์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

โœ๐Ÿปํ’€์ด

์˜ค๋Š˜๋‚ ์งœ๋กœ๋ถ€ํ„ฐ t๋งŒํผ ๋”ํ•œ ๋‚ ์— ์ˆ˜์ต์ด ์–ผ๋งˆ์ธ์ง€ ๊ณ„์‚ฐํ•œ๋‹ค.

์˜ˆ์ œ์— ๋‚˜์˜จ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค 4๋กœ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.

  1์ผ 2์ผ 3์ผ 4์ผ 5์ผ 6์ผ 7์ผ 8์ผ 9์ผ 10์ผ
Ti 5 4 3 2 1 1 2 3 4 5
Pi 50 40 30 20 10 10 20 30 40 50

์˜ค๋Š˜์ด 1์ผ์ด๋ผ๋ฉด ์ˆ˜์ต์„ 6์ผ์— ๊ธฐ๋กํ•œ๋‹ค. ์ธ๋ฑ์Šค๋กœ ๋ณด๋ฉด dp[5]์— ์ˆ˜์ต์„ ๊ธฐ๋กํ•˜๋ฉด ๋œ๋‹ค. 2์ผ, 3์ผ, 4์ผ, 5์ผ์— T๋ฅผ ๋”ํ•˜๋ฉด ๋ชจ๋‘ 6์ผ์— ์ƒ๋‹ด์ด ์™„๋ฃŒ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ด๋•Œ ๊ธฐ์กด dp[5]์˜ ๊ฐ’๊ณผ ๋น„๊ตํ•˜์—ฌ ์ตœ๋Œ“๊ฐ’์„ ๊ธฐ๋กํ•˜๋ฉด ๋œ๋‹ค.

์ด์ œ 6์ผ์€ ์ƒ๋‹ด์ด ์™„๋ฃŒ๋˜๋Š”๋ฐ 1์ผ์ด ๊ฑธ๋ฆฌ๋ฏ€๋กœ 7์ผ์— ์ˆ˜์ต์„ ๊ธฐ๋กํ•œ๋‹ค. dp[6]์€ dp[5]+10์œผ๋กœ 60์ด 7์ผ ์ตœ๋Œ€ ์ˆ˜์ต์ด๋‹ค. 7์ผ์— ํ•˜๋Š” ์ƒ๋‹ด์€ 2์ผ์ด ๊ฑธ๋ฆฐ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ dp[8]์— ๊ธฐ๋กํ•œ๋‹ค. dp[8]์€ 80์ด ๋œ๋‹ค. ์ด์ œ 9์ผ์„ ๋ณด๋ฉด ์ƒ๋‹ด์ด ์™„๋ฃŒ๋˜๋Š”๋ฐ 4์ผ์ด ๊ฑธ๋ฆฐ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ฐฑ์ค€์ด๋Š” 11์ผ์— ํ‡ด์‚ฌํ•˜๋ฏ€๋กœ ์ƒ๋‹ด์„ ์™„๋ฃŒํ•  ์ˆ˜ ์—†๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ 9์ผ ์ƒ๋‹ด์€ ์žก์ง€ ์•Š๋Š”๋‹ค.

๋‹ค์‹œ 8์ผ๋กœ ๋Œ์•„๊ฐ€์„œ 8์ผ์— ์ƒ๋‹ด์„ ์žก์œผ๋ฉด ์™„๋ฃŒํ•˜๋Š” ๋ฐ 3์ผ์ด ๊ฑธ๋ฆฐ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ 8์ผ์— ์žก์€ ์ƒ๋‹ด์€ ํ‡ด์‚ฌ ์ „์— ์™„๋ฃŒํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿผ dp[10]์€ dp[7]+30์ด ๋œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์œ„ ๊ณผ์ •๋Œ€๋กœ๋งŒ ํ•˜๋ฉด ํ˜„์žฌ dp[7]์€ ์ˆ˜์ต์ด 0์œผ๋กœ ๋˜์–ด์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ dp[i]์™€ dp[i-1]์„ ๋น„๊ตํ•˜์—ฌ ์ตœ๋Œ€ ์ˆ˜์ต์„ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด dp[7]์€ dp[6]๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ dp[6]์€ 60์œผ๋กœ dp[7]์€ 60์ด ๋˜๊ณ  dp[10]์€ dp[7]+30์œผ๋กœ 90์ด ๋˜์–ด ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ตœ๋Œ€ ์ˆ˜์ต์€ 90์ด๋‹ค.

๐Ÿ’ป์ฝ”๋“œ

import sys

input = sys.stdin.readline

N = int(input())
coun = [list(map(int, input().split())) for _ in range(N)]
dp=[0]*(N+1)
for i in range(N):
    t, p = coun[i]
    dp[i] = max(dp[i], dp[i - 1]) # i์™€ i-1์„ ๋น„๊ตํ•˜์—ฌ ์ตœ๋Œ€ ์ˆ˜์ต์„ ๊ณ„์‚ฐ.
    if i+t <= N: # ์ƒ๋‹ด ์™„๋ฃŒ์ผ์ด ํ‡ด์‚ฌ์ผ์„ ๋„˜๊ธฐ์ง€ ์•Š๋Š”๋‹ค๋ฉด
        dp[i+t] = max(dp[i+t], dp[i]+p) # ์ƒ๋‹ด ์™„๋ฃŒ์ผ์— ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ˆ˜์ต ๊ณ„์‚ฐ.

print(max(dp))

๐Ÿ“ํ›„๊ธฐ

์ฒ˜์Œ์—๋Š” DFS๋กœ ์ ‘๊ทผํ–ˆ๋Š”๋ฐ ์ƒ๊ฐํ•˜๋‹ค๋ณด๋‹ˆ DP๋กœ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ์ผ๋‹จ ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•˜๊ณ  ํ’€์–ด์„œ ๋งž๊ธด ํ–ˆ์ง€๋งŒ ์ด๋ ‡๊ฒŒ ํ’€์–ด๋„ ๊ดœ์ฐฎ์€๊ฑด๊ฐ€ ์‹ถ์—ˆ๋Š”๋ฐ ๋ถ„๋ฅ˜๋ณด๋‹ˆ๊นŒ DP๋ผ๊ณ  ๋˜์–ด์žˆ์–ด์„œ ์ž˜๋ชป ์ ‘๊ทผํ•œ ๊ฑด ์•„๋‹Œ ๊ฒƒ ๊ฐ™๋‹คใ…Žใ…Ž

PyPy3๋กœ ํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ƒ๋‹นํžˆ ๋จน๋Š”๋ฐ ์ด๊ฒŒ ๋งž๋Š”๊ฑธ๊นŒ...

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Coding Test > Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€] 14503. ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ/Python - Gold5  (1) 2025.07.29
[๋ฐฑ์ค€] 14891. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด/Python - Gold5  (2) 2025.07.25
[SWEA] 2819. ๊ฒฉ์žํŒ์˜ ์ˆซ์ž ์ด์–ด๋ถ™์ด๊ธฐ/Python - D4  (0) 2025.07.22
[SWEA] 1242. ์•”ํ˜ธ์ฝ”๋“œ ์Šค์บ”/Python - D5  (1) 2025.07.21
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ตœ์†Œ์ง์‚ฌ๊ฐํ˜•/Python - Lv.1  (0) 2025.07.16
'Coding Test/Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 14503. ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ/Python - Gold5
  • [๋ฐฑ์ค€] 14891. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด/Python - Gold5
  • [SWEA] 2819. ๊ฒฉ์žํŒ์˜ ์ˆซ์ž ์ด์–ด๋ถ™์ด๊ธฐ/Python - D4
  • [SWEA] 1242. ์•”ํ˜ธ์ฝ”๋“œ ์Šค์บ”/Python - D5
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My Future๐Ÿ’•
    The Engineer, Lucy
    • Instagram
    • GitHub
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (174)
      • Linux (26)
      • Infra (9)
      • Cloud (25)
        • AWS (2)
        • GCP (3)
        • Docker (4)
        • Kubernetes (14)
        • IaC (2)
      • NGINX (1)
      • DevOps (3)
      • Computer Science (17)
        • Data Structure (0)
        • Algorithms (1)
        • Operating System (3)
        • Network (11)
        • Database System (2)
      • Coding Test (88)
        • Algorithms (80)
        • SQL (7)
      • ETC (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๊ณต์ง€์‚ฌํ•ญ

  • ๋งํฌ

    • Lucy's Instagram
    • Lucy's GitHub
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์ž๋ฐ”
    Shell
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณต๋ถ€
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    programmers
    ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ ์ง€์‹
    ์…ธ ์Šคํฌ๋ฆฝํŠธ
    Kubernetes
    ๋„คํŠธ์›Œํฌ
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 2๊ธ‰
    network
    bfs
    docker
    ๋ฐฑ์ค€
    ์˜ค๋ธ”์™„
    dfs
    ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค
    Linux
    cs ๊ธฐ์ดˆ ์ง€์‹ ์ •๋ฆฌ
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ๋„์ปค
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ
    ๋ฆฌ๋ˆ…์Šค
    K8s
    Java
    ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰
    Shell Script
    Baekjoon
    ์‰˜ ์Šคํฌ๋ฆฝํŠธ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
The Engineer, Lucy
[๋ฐฑ์ค€] 14501. ํ‡ด์‚ฌ/Python - Silver3
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”