묶음 합의 제곱합 최소로 나누기

레벨 MC · 코딩 · JavaScript · 목표 시간 45분 · 게시일 2026-11-04

양의 정수 배열 nums를 순서를 바꾸지 않고 정확히 k개의 비어 있지 않은 연속 구간으로 나눈다. 각 구간의 원소 합을 제곱해 모두 더한 값을 비용이라 할 때, 비용의 최솟값을 구하시오.

nums의 길이 n은 최대 4,000, 각 원소는 1 이상 1,000 이하, k는 1 이상 min(n, 100) 이하이다. 구간마다 모든 나눔 위치를 따지는 O(k·n²) 방법으로는 시간 안에 끝나지 않는다.

예제

solve([1,2,3,4,5], 2)
solve([7,7,7], 3)
solve([4,1], 1)

MC 레벨의 다른 문제 · 코딩 문제 목록