11. 주식을 사고팔기 가장 좋은 시점
https://leetcode.com/problems/best-time-to-buy-and-sell-stock/
📌문제
한 번의 거래로 낼 수 있는 최대 이익을 산출하라
- 예제1
📝입력
prices = [7,1,5,3,6,4]
💻출력
5
- 예제2
📝입력
[7,6,4,3,1]
💻출력
0
📌풀이
13ms, 44.7mb
class Solution {
public int maxProfit(int[] prices) {
int minPrices = Integer.MAX_VALUE, answer = 0;
for(int p : prices){
minPrices = Math.min(minPrices, p);
answer = Math.max(answer, p - minPrices);
}
return answer;
}
}
- 간단한 문제였다.
- 주식이란 가장 쌀 때 사는 것이 어떻게 보면 당연한 것 아니겠는가? 그러므로 minPrices에 배열 중 제일 최소값을 계속 담아줌
- 배열을 돌면서 최소값을 빼어 수익을 계산함, 수익 중 제일 최대 값을 answer에 담음
'Algorithm > PTUStudy' 카테고리의 다른 글
4주차. 베르트랑 공준 (0) | 2023.01.30 |
---|---|
4주차. 문자열 반복 (0) | 2023.01.30 |
4주차. 배열(자신을 제외한 배열의 곱) (0) | 2023.01.30 |
4주차. 배열(배열파티션1) (0) | 2023.01.18 |
3주차. 더하기 사이클 (0) | 2023.01.16 |