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

lkdcode·2023년 8월 24일

Algorithm

목록 보기
9/47
post-thumbnail

122. Best Time to Buy and Sell Stock II


문제 분석

가격이 높은날 - 가격이 적은날의 값을 누적하여 반환하는 문제


풀이 과정

주어진 배열을 반복문을 돈다.
1. 구매가격 : 구매가격이 지금의 값보다 크다면 갱신 후 스킵한다.
2. 이익 : 지금의 값이 구매가격보다 크다면 이익에 (현재가 - 구매가)를 추가해준다.
이익을 반환한다.


코드

    public int maxProfit(int[] prices) {
        int result = 0;
        int buyPrice = prices[0];

        for (int i = 1; i < prices.length; i++) {
            if (buyPrice > prices[i]) {
                buyPrice = prices[i];
                continue;
            }

            if (buyPrice < prices[i]) {
                result += prices[i] - buyPrice;
                buyPrice = prices[i];
            }

        }

        return result;
    }

profile
되면 한다

0개의 댓글