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

yuKeon·2023년 8월 24일
0

LeetCode

목록 보기
5/29
post-thumbnail

0. 문제

https://leetcode.com/problems/best-time-to-buy-and-sell-stock/submissions/


1. 문제 설명

  • 가격 정보가 담긴 정수 배열 prices가 주어진다.
  • 수익을 극대화 했을 때의 수익을 반환하라

2. 문제 풀이

2.1. 접근법

  • 수익을 극대화하기 위한 전제 조건은 가장 저렴하게 구매하기다.
  • 배열을 조회하면서 가장 작은 가격과 가장 큰 수익을 갱신한다.

3. 코드

class Solution {
    public int maxProfit(int[] prices) {
        int buy = Integer.MAX_VALUE;
        int profit = 0;
        
        for (int i : prices) {
            buy = Math.min(i, buy);
            profit = Math.max(profit, i - buy);
        }
        return profit;
    }
}

4. 결과

0개의 댓글