01
Processing Data. Please Wait...

K거래의 최대이익

Dynamic Programming 고급
30초 미리보기

K거래의 최대이익

주식의 가격을 나타내는 양의 정수 배열이 입력됩니다(배열의 각 인덱스는 다른 날짜를 나타냅니다). 또한 정수 k가 주어지는데, 이는 허용된 트랜잭션 수를 나타냅니다. 한 트랜잭션은 주식을 구입하고 판매하는 것으로 구성됩니다.

k 트랜잭션 수를 고려하여 주식을 사고 팔아 얻을 수 있는 최대 수익을 반환하는 함수를 작성하세요.

참고: 주식은 단 한 주만 보유하고 있다고 가정합니다. 다시 말해서, 하나 이상의 주식은 살 수 없으며, 현재 주식을 보유하고 있다면, 주식을 구입 할 수 없습니다. 또한 허용되는 모든 k 트랜잭션을 사용할 필요는 없습니다.

예제 1

입력

prices = [5, 11, 3, 50, 60, 90]
k = 2

출력

93 
// 매수: 5, 매도: 11
// 매수: 3, 매도: 90