[LeetCode] 121. Best Time to Buy and Sell Stock

Chobby·2025년 1월 9일
1

LeetCode

목록 보기
154/194

😎풀이

해당 문제는 배열을 순회하며 최저 금액을 갱신하고 최대 이익을 반환하면 되는 문제이다.

루프를 돌며, 최저 금액을 갱신할 때는 매도할 수 없기에 건너뛰고, 아닌 경우는 현재의 이익을 갱신하며 최대 이익인지 확인한다.

function maxProfit(prices: number[]): number {
    let maxProfit = 0
    let minPrice = Number.MAX_SAFE_INTEGER
    for(const price of prices) {
        // 최저가에 구매
        if(price < minPrice) minPrice = price
        else {
            // 최대 이익 갱신
            const curProfit = price - minPrice
            maxProfit = Math.max(curProfit, maxProfit)
        }
    }

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

0개의 댓글