-
[LeetCode] Best Time to Buy and Sell Stock (C++)알고리즘 문제풀이/백준 2021. 3. 7. 17:38
leetcode.com/problems/best-time-to-buy-and-sell-stock/
그리디 유형의 문제, O(N^2) 풀이로는 입력값의 최대 크기가 10^5이므로 불가능합니다. 따라서 그리디 방식으로 접근하는데, 최소값을 갱신해가며 동시에 최대 이익을 갱신하는 것이 포인트입니다.
class Solution { public: int maxProfit(vector<int>& prices) { int minPrice = 2147000000, answer = 0; // 최소값을 갱신해가며 동시에 최대 이익을 갱신한다. for(int i = 0; i < prices.size(); i++) { minPrice = min(minPrice, prices[i]); answer = max(answer, prices[i] - minPrice); } return answer; } };
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
[백준/BOJ] 17070번 파이프 옮기기 (C++) (0) 2021.03.28 [백준/BOJ] 16637번 괄호 추가하기 (C++) (0) 2021.03.21 [백준/BOJ] 10422번 괄호 (C++) (0) 2021.02.22 [백준/BOJ] 12869번 뮤탈리스크 (C++) (2) 2021.02.19 [프로그래머스/Level 3] 기둥과 보 설치 (C++) (0) 2021.02.17