Menu
CoddyTech

Rod Cutting Problem

길이가 n인 막대가 있고, 여기서 n = prices.length입니다. 길이가 k인 조각은 prices[k-1]에 판매됩니다. 막대를 원하는 만큼 정수 길이의 조각으로 자르거나, 한 조각으로 판매할 수 있습니다. 막대를 모두 판매하여 벌 수 있는 최대 금액을 반환하세요.

함수

cutRod(prices: integer-array) → integer
pricesinteger-array
prices[k-1]는 길이가 k인 조각의 가격이며, 막대의 길이는 prices.length입니다
반환값integer
막대 전체가 벌 수 있는 최대 금액

제약 조건

  • 1 ≤ prices.length ≤ 1000
  • 1 ≤ prices[i] ≤ 105

예제

입력
prices = [2, 5, 7, 8]
출력
10
설명
길이 2인 두 조각을 팔면 5 + 5 = 10을 얻습니다. 막대 전체를 팔면 8을 얻고, 길이 1인 조각 하나와 길이 3인 조각 하나를 팔면 2 + 7 = 9를 얻습니다.
challenge icon

후속 질문

막대를 최대 m번 자를 수 있다면 어떨까요? 그렇다면 각 표 항목은 무엇을 알아야 할까요?

코드 초기화
def cutRod(prices):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

테스트 #3

인자

prices = [2, 5, 7, 8]

예상 출력

10