[LeetCode] 122. Best Time to Buy and Sell Stock II

Chobby·2025년 1월 9일
1

LeetCode

목록 보기
155/194

😎풀이

이전 문제와 다르게 다양한 구간에서 매수, 매도가 가능하다.

당연히 복잡하게 고민할 필요 없이

조금이라도 수익이 나는 구간에서 즉시 판매하고 다시 매수하는것이 가장 효율적인 방법이다.

function maxProfit(prices: number[]): number {
    let profit = 0
    // 수익이 발생하는 구간 탐색
    for(let i = 1; i < prices.length; i++) {
        const prev = prices[i - 1]
        const current = prices[i]
        // 매도 금액이 매수 금액보다 클 경우 즉시 판매
        if(current > prev) profit += current - prev
    }

    return profit
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글