개발공부/algorithm

[백준][Python] 2670: 연속부분 최대합 - DP

so.py 2021. 6. 6. 20:58

문제

  • 백준 2670: 연속부분 최대곱
  • Silver iV
  • Link
 

2670번: 연속부분최대곱

첫째 줄은 나열된 양의 실수들의 개수 N이 주어지고, 그 다음 줄부터 N개의 수가 한 줄에 하나씩 들어 있다. N은 10,000 이하의 자연수이다. 실수는 소수점 첫째자리까지 주어지며, 0.0보다 크거나

www.acmicpc.net

 

나의 코드

간단한 동적계획법 문제이다. 

# https://www.acmicpc.net/problem/2670

N = int(input())

li = [float(input()) for _ in range(N)]

for i in range(1, N):
    li[i] = max(li[i], li[i]*li[i-1])
    
print("%.3f" % (max(li)))