[📣top interview question] Best Time to Buy and Sell Stock II 문제풀기!
👓 문제 요약
어떤 물건의 가격이 매일 달라..
매일 달라지는 가격을 줄테니…
나를 부자로 만들어줘!!
자세한 문제 설명과 릿코드 홈페이지 참고. 문제풀러가기
🔑 문제 풀이
가격이 언제 꺾이는지 (하강하다 상승, 상승하다 하강) 에 포인트를 주면 될 것 같다.
하강하다가 상승한다면 그 지점에서 사야하고, 상승하다가 하강하면 팔아야한다.
더 쉽게 풀려면 그냥
prices[i] < prices[i + 1]
일 때 그 차이를 그냥 더해주면 되지 싶다.
🥽 소스코드 및 소스해석
var maxProfit = function (prices) {
let buyDate = -1;
let profit = 0;
for (let i = 0; i < prices.length; i++) {
if (prices[i] < prices[i + 1]) {
if (buyDate === -1) {
buyDate = i;
}
} else {
//감소할때 팔면 이득.
if (buyDate !== -1) {
profit += prices[i] - prices[buyDate];
buyDate = -1;
}
}
}
return profit;
};
🔨 문제 후기
에이 너무 쉽네 하고 Hard 문제 도전했다가 탈탈 털렸다… 틈틈히 시간 날 때마다 Hard 문제도 풀어야겠다.
Series
Algorithms
이 글은 "Algorithms" 시리즈의 19번째 기록입니다.
- 01#[프로그래머스][연습문제] 3 x N 타일링 풀이
- 02[프로그래머스][2019 kakao] 블록게임 해설
- 03[프로그래머스][2019 kakao] 길 찾기 게임 문제 해설
- 04[프로그래머스][2019 kakao] 무지의 먹방 라이브 문제 해설
- 05[프로그래머스][2019 kakao] 후보키 문제 해설
- 06[프로그래머스✈][2020 kakao] 자물쇠와 열쇠 문제 풀이
- 07[프로그래머스][2020 kakao] 기둥과 보 설치 문제 해설
- 08[프로그래머스✈][2020 kakao] 가사 검색 문제 풀이
- 09[백준🔉][16234] 인구이동 문제 해설
- 10[프로그래머스✈][2019 kakao 겨울 인턴십] 불량 사용자 문제 해설
- 11[프로그래머스✈][2020 kakao] 동굴 탐험
- 12[백준🔉][14501] 퇴사 문제 해설
- 13[프로그래머스✈][2017 카카오코드] 4단 고음 해설
- 14[프로그래머스✈][2019 kakao 겨울 인턴쉽] 징검다리 건너기 해설
- 15[프로그래머스✈][연습문제] 섬 연결하기 풀이
- 16[leetcode][15] 3sum 문제풀기!
- 17[leetcode][16] 3sum closet 문제풀기!
- 18[📣top interview question] Remove Duplicates from Sorted Array Solution 문제풀기!
- 19[📣top interview question] Best Time to Buy and Sell Stock II 문제풀기!
- 20[leetcode][30] Substring with Concatenation of All Words 문제풀기!
- 21[leetcode][31] Next Permutation 문제풀기!
- 22[leetcode][32] Longest Valid Parentheses 문제풀기
- 23[leetcode][40] Combination Sum II 문제풀기!
- 24[leetcode][42] Trapping Rain Water 문제풀기!
- 25[leetcode][43] Multiply Strings 문제풀기!
- 26[leetcode][44] Wildcard Matching 문제풀기!
- 27[leetcode][45] Jump Game II 문제풀기!