π 곡λΆνλ μ§μ§μνμΉ΄λ μ²μμ΄μ§?
[Softeer] python 쑰립λΌμΈ λ³Έλ¬Έ
728x90
λ°μν
<λ³Έ λΈλ‘κ·Έλ Softeerμ μ½λ©ν μ€νΈ λ¬Έμ λ₯Ό μ°Έκ³ ν΄μ 곡λΆνλ©° μμ±νμμ΅λλ€>
https://softeer.ai/practice/info.do?idx=1&eid=403
β λ¬Έμ
μΈμ΄λ³ μκ°/λ©λͺ¨λ¦¬
Python 2μ΄ 256MB
λ¬Έμ
λμΌν μλμ°¨λ₯Ό μμ°νλ 2κ°μ 쑰립 λΌμΈ Aμ Bκ° μλ€. λ 쑰립λΌμΈμλ κ°κ° Nκ°μ μμ μ₯μ΄ μλ€. κ°κ°μ μμ μ₯μ Ai (1 ≤ i ≤ N)μ Bi (1 ≤ i ≤ N)λ‘ νμνμ. Ai μμ μ₯κ³Ό Bi μμ μ₯μ λμΌν μμ μ μννμ§λ§ μμ μκ°μ λ€λ₯Ό μ μλ€. A 쑰립 λΌμΈμ κ²½μ° A1 μμ μ₯μμ μ΅μ΄ μ‘°λ¦½μ΄ μμλκ³ , Ai μμ μ₯μμ μμ μ΄ μ’ λ£λλ©΄ λ°λ‘ Ai+1 μμ μ₯μμ μμ μ μμν μ μλ€.B 쑰립 λΌμΈλ λμΌν λ°©μμΌλ‘ 쑰립μ μ§ννλ€. Ai μμ μ₯μμ Bi+1μμ μ₯μΌλ‘ νΉμ Bi μμ μ₯μμ Ai+1μμ μ₯μΌλ‘ λ°μ‘°λ¦½ μ νμ μ΄λμ΄ κ°λ₯(μ΄λμκ°μ΄ μΆκ°λ¨)ν λ μλμ°¨ 1λμ κ°μ₯ λΉ λ₯Έ 쑰립 μκ°μ ꡬνμ¬λΌ.
μ μ½μ‘°κ±΄
1 ≤ N ≤ 10^3 μΈ μ μ
κ° μμ μκ°κ³Ό μ΄λμκ°μ 10^5μ λμ§ μλ μμ μ μ
μ λ ₯νμ
첫 λ²μ§Έ μ€μ μμ μ₯μ μ Nμ΄ μ£Όμ΄μ§λ€. i+1 (1 ≤ i ≤ N-1) λ²μ§Έ μ€μλ Ai μμ μ₯μ μμ μκ°, Bi μμ μ₯μ μμ μκ°, Ai μμ μ₯μμ Bi+1 μμ μ₯κΉμ§ μ΄λμκ°, Bi μμ μ₯μμ Ai+1 μμ μ₯κΉμ§ μ΄λμκ°μ΄ μ°¨λ‘λ‘ μ£Όμ΄μ§λ€.
λ§μ§λ§ N+1λ²μ§Έ μ€μλ AN μμ μ₯κ³Ό BN μμ μ₯μ μμ μκ°μ΄ μ£Όμ΄μ§λ€.
μΆλ ₯νμ
첫 λ²μ§Έ μ€μ κ°μ₯ λΉ λ₯Έ 쑰립μκ°μ μΆλ ₯νλΌ.
μ λ ₯μμ 1
2
1 3 1 2
10 2
μΆλ ₯μμ 1
4
β Code
# λμΌν μλμ°¨λ₯Ό μμ°νλ 2κ°μ 쑰립 λΌμΈ Aμ B
# λ 쑰립λΌμΈμλ κ°κ° Nκ°μ μμ
μ₯
# κ°κ°μ μμ
μ₯μ Ai (1 ≤ i ≤ N)μ Bi (1 ≤ i ≤ N)
# Ai μμ
μ₯μμ Bi+1μμ
μ₯μΌλ‘ νΉμ Bi μμ
μ₯μμ Ai+1μμ
μ₯μΌλ‘
# λ°μ‘°λ¦½ μ νμ μ΄λμ΄ κ°λ₯(μ΄λμκ°μ΄ μΆκ°λ¨)ν λ
# μλμ°¨ 1λμ κ°μ₯ λΉ λ₯Έ 쑰립 μκ°
import sys
N = int(input())
# μμ
μκ°, μ΄λμκ°
# μμ
μκ°
line = [list(map(int, input().split())) for _ in range(N)]
# Dynamic Programming
dp = [[0, 0]] * N
dp[0] = [line[0][0], line[0][1]]
for i in range(1, N) :
# A 쑰립λΌμΈ, B 쑰립λΌμΈ
dp[i] = [min(dp[i-1][0], dp[i-1][1] + line[i-1][3]) + line[i][0],
min(dp[i-1][1], dp[i-1][0] + line[i-1][2]) + line[i][1]]
print(min(dp[N-1]))
728x90
λ°μν
'π¦₯ μ½ν > Softeer' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Softeer] python μνΌ λ°μ΄λ¬μ€ (0) | 2023.01.07 |
---|---|
[Softeer] python 볡μ‘ν 쑰립λΌμΈ1 (0) | 2023.01.07 |
[Softeer] python μ±μ νκ· (0) | 2023.01.07 |
[Softeer] python μ§λ μλ κ΅¬μΆ (0) | 2023.01.07 |
[Softeer] python 8λ¨ λ³μκΈ° (0) | 2023.01.07 |
Comments