https://www.acmicpc.net/problem/2670 N = int(input()) nums = [float(input()) for _ in range(N)] for i in range(1, N): nums[i] = max(nums[i - 1] * nums[i], nums[i]) print("{:.3f}".format(max(nums))) 다이나믹 프로그래밍 문제이다 현재값와 현재값에 이전 값을 곱한 값 중 더 큰값으로 교체하면 된다. 수업도 이제 얼추 끝났으니 알고리즘 다시 열심히 해야겠다 (이 쉬운문제를 풀지 못하였다.)