μ•Œκ³ λ¦¬μ¦˜ 문제/BOJ_Python

[BOJ/Step15] 1912 : 연속합 (Python) - λΆ€μ—°

NaNaRinπŸ™ƒ 2021. 3. 4. 21:32

www.acmicpc.net/problem/1912

 

1912번: 연속합

첫째 쀄에 μ •μˆ˜ n(1 ≤ n ≤ 100,000)이 μ£Όμ–΄μ§€κ³  λ‘˜μ§Έ μ€„μ—λŠ” n개의 μ •μˆ˜λ‘œ 이루어진 μˆ˜μ—΄μ΄ μ£Όμ–΄μ§„λ‹€. μˆ˜λŠ” -1,000보닀 ν¬κ±°λ‚˜ κ°™κ³ , 1,000보닀 μž‘κ±°λ‚˜ 같은 μ •μˆ˜μ΄λ‹€.

www.acmicpc.net


λ‚˜λŠ” 아직 DP λ¬Έμ œμ— 적응을 λͺ»ν•œκ±°κ°™λ‹€...

계속 ν˜ΌμžλŠ” λͺ»ν’€κ² λ‹€ γ…œ μ•„λ‹ˆ ν’€κΈ΄ ν‘ΈλŠ”λ° 계속 μ‹œκ°„μ΄ˆκ³Όλ‚˜κ³  λ‚œλ¦¬λ‚œλ¦¬

 

μž…λ ₯받은 숫자λ₯Ό μ•žμ—μ„œλΆ€ν„° ν•˜λ‚˜μ”© 셀것

μž…λ ₯받은 μˆ«μžλ“€μ„ 리슀트 num에 μ €μž₯ν•˜μ˜€λ‹€κ³  ν•  λ•Œ

num[n] κ³Ό num[n] + num[n-1] 을 λΉ„κ΅ν•˜μ—¬ num[n] 에 μ €μž₯ν•œλ‹€

num[n]이 더 크닀면 μ•žμ˜ μˆ˜λ“€μ˜ ν•© 쀑 κ°€μž₯ 큰 

num[n] + num[n-1]이 더 크닀면 

 

예제 1λ²ˆμ„ 예둜 λ“€λ©΄ num = [10, -4, 3,   1,   5,   6, -35, 12, 21, -1]

                                             [10,  6, 9, 10, 15, 21, -14, 12, 33, 32]

# 1912.py

n = int(input())
num = [i for i in map(int, input().split())]

for i in range(1, n):
    num[i] = max(num[i], num[i] + num[i-1])

print(max(num))