-
[Javascript] Codility Lesson9 - MaxProfit알고리즘, 자료구조/Codility 2022. 6. 21. 21:33
문제: https://app.codility.com/programmers/lessons/9-maximum_slice_problem/max_profit/
문제 요약
- N개의 정수를 갖는 배열 A가 주어지며, 각 요소는 주식의 일별 가격을 나타낸다.
- 주식을 사고 팔았을 때 얻을 수 있는 최대 이익을 반환하고, 만약 이익을 내는 경우가 없다면 0을 반환한다.
- P는 주식을 산 날, Q는 주식을 판 날이며 0 < P <= Q < N 이다.
function solution(A) { let profit = 0; let buy = A[0]; for (let i = 1; i < A.length; i++) { let tmp = A[i] - buy; // i day의 주식의 최저 가격이면 buy에 A[i]를 할당한다. buy = A[i] < buy ? A[i] : buy; profit = tmp > profit ? tmp : profit; } // profit이 0보다 크면 profit 반환, 그렇지 않다면 0을 반환한다. profit = profit > 0 ? profit : 0; return profit; }
https://app.codility.com/ '알고리즘, 자료구조 > Codility' 카테고리의 다른 글
[Javascript] Codility Lesson9 - MaxDoubleSliceSum (0) 2022.07.11 [Javascript] Codility Lesson9 - MaxSliceSum (0) 2022.06.22 [Javascript] Codility Lesson 8 - Dominator (0) 2022.06.13 [Javascript] Codility Lesson 7 - Fish (0) 2022.06.08 [Javascript] Codility Lesson 6 - NumberOfDiscIntersections (0) 2022.05.16