λ¬Έμ
ν¨μ£Όλ ν¬λμ£Ό μμνμ κ°λ€. κ·Έ κ³³μ κ°λλ, ν μ΄λΈ μμ λ€μν ν¬λμ£Όκ° λ€μ΄μλ ν¬λμ£Ό μμ΄ μΌλ ¬λ‘ λμ¬ μμλ€. ν¨μ£Όλ ν¬λμ£Ό μμμ νλ €κ³ νλλ°, μ¬κΈ°μλ λ€μκ³Ό κ°μ λ κ°μ§ κ·μΉμ΄ μλ€.
- ν¬λμ£Ό μμ μ ννλ©΄ κ·Έ μμ λ€μ΄μλ ν¬λμ£Όλ λͺ¨λ λ§μ μΌ νκ³ , λ§μ νμλ μλ μμΉμ λ€μ λμμΌ νλ€.
- μ°μμΌλ‘ λμ¬ μλ 3μμ λͺ¨λ λ§μ€ μλ μλ€.
ν¨μ£Όλ λ μ μλ λλ‘ λ§μ μμ ν¬λμ£Όλ₯Ό λ§λ³΄κΈ° μν΄μ μ΄λ€ ν¬λμ£Ό μμ μ νν΄μΌ ν μ§ κ³ λ―Όνκ³ μλ€. 1λΆν° nκΉμ§μ λ²νΈκ° λΆμ΄ μλ nκ°μ ν¬λμ£Ό μμ΄ μμλλ‘ ν μ΄λΈ μμ λμ¬ μκ³ , κ° ν¬λμ£Ό μμ λ€μ΄μλ ν¬λμ£Όμ μμ΄ μ£Όμ΄μ‘μ λ, ν¨μ£Όλ₯Ό λμ κ°μ₯ λ§μ μμ ν¬λμ£Όλ₯Ό λ§μ€ μ μλλ‘ νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μλ₯Ό λ€μ΄ 6κ°μ ν¬λμ£Ό μμ΄ μκ³ , κ°κ°μ μμ μμλλ‘ 6, 10, 13, 9, 8, 1 λ§νΌμ ν¬λμ£Όκ° λ€μ΄ μμ λ, 첫 λ²μ§Έ, λ λ²μ§Έ, λ€ λ²μ§Έ, λ€μ― λ²μ§Έ ν¬λμ£Ό μμ μ ννλ©΄ μ΄ ν¬λμ£Ό μμ΄ 33μΌλ‘ μ΅λλ‘ λ§μ€ μ μλ€.
μ λ ₯
첫째 μ€μ ν¬λμ£Ό μμ κ°μ nμ΄ μ£Όμ΄μ§λ€. (1≤n≤10,000) λμ§Έ μ€λΆν° n+1λ²μ§Έ μ€κΉμ§ ν¬λμ£Ό μμ λ€μ΄μλ ν¬λμ£Όμ μμ΄ μμλλ‘ μ£Όμ΄μ§λ€. ν¬λμ£Όμ μμ 1,000 μ΄νμ μμ΄ μλ μ μμ΄λ€.
μΆλ ₯
첫째 μ€μ μ΅λλ‘ λ§μ€ μ μλ ν¬λμ£Όμ μμ μΆλ ₯νλ€.
https://www.acmicpc.net/problem/2156
π‘ νμ΄ λ° μ½λ
data = []
n = int(input())
for _ in range(n):
data.append(int(input()))
d = [0] * n
d[0] = data[0]
if n > 1 :
d[1] = data[0] + data[1]
if n > 2 :
d[2] = max(data[0]+data[2], data[1]+data[2], data[0]+data[1])
for i in range(3,n):
d[i] = max(d[i-2] + data[i], d[i-3] + data[i-1] + data[i], d[i-1])
print(max(d))
2579λ² 'κ³λ¨ μ€λ₯΄κΈ°'μ λΉμ·ν λ€μ΄λλ―Ή νλ‘κ·Έλλ° λ¬Έμ μ΄λ€.
λ€λ§, λ§μ§λ§ ν¬λμ£Όλ₯Ό λ°λμ λ¨Ήμ§ μμλ λλ€λ μ κ³Ό 3μ μ΄μ 건λλ°μ΄ λ¨Ήμ΄λ λλ€λ μ μ΄ λ€λ₯΄λ€.
λ°λΌμ, 'κ³λ¨ μ€λ₯΄κΈ°'μμ μ¬μ©ν μκ³ λ¦¬μ¦μμ DPν μ΄λΈμ λ§μ§λ§ κ°μ΄ μλ μ΅λκ°μ μΆλ ₯νκ³ , νμ¬ ν¬λμ£Ό μμ λ¨Ήμ§ μμ κ²½μ°(d[i-1])λ₯Ό λΉκ΅μ΄μ μΆκ°ν΄μ£Όλ©΄ μ λ΅ μ½λκ° λλ€.
'Algorithm > π Baekjoon Judge' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ] λ°±μ€ 11052λ² μΉ΄λ ꡬ맀νκΈ° - νμ΄μ¬(Python) (0) | 2021.10.06 |
---|---|
[BOJ] λ°±μ€ 10844λ² μ¬μ΄ κ³λ¨ μ - νμ΄μ¬(Python) (0) | 2021.09.15 |
[BOJ] λ°±μ€ 1932λ² μ μ μΌκ°ν - νμ΄μ¬(Python) (0) | 2021.09.14 |
[BOJ] λ°±μ€ 2579λ² κ³λ¨ μ€λ₯΄κΈ° - νμ΄μ¬(Python) (0) | 2021.09.14 |
[BOJ] λ°±μ€ 1149λ² RGB거리 - νμ΄μ¬(Python) (0) | 2021.09.14 |