WeCode Kata Day 17

luneah·2021년 12월 21일
0

WeCode Kata

목록 보기
17/20
post-thumbnail

문제

prices는 배열이며, 각 요소는 매일의 주식 가격이다. 만약 한 번만 거래할 수 있다면 = 사고 팔 수 있다면, 제일 큰 이익은 얼마일까?

Input: [7,1,5,3,6,4]
Output: 5
설명: 2(가격=1)에 샀다가 5(가격=6)에 파는 것이 6-1이라 제일 큰 수익 7-1=6 은 안 된다. 먼저 사야 팔 수 있다.

Input: [7,6,4,3,1]
Output: 0
설명: 여기서는 매일 가격이 낮아지기 때문에 거래가 없다. 그래서 0이다.

Thinking Algorithm

  1. 가장 큰 이익을 선언해준다.
  2. 이중for문으로 뒤에 숫자에서 앞에 숫자를 뺀 값과 1번 값을 비교해서 더 큰 값을 1번에 할당해준다.
  3. 1번의 값을 리턴해준다.

Code

const maxProfit = prices => {
  let max = 0;

  for(let i=0; i<prices.length-1; i++){
    for(let j=i+1; j<prices.length; j++){
      if(prices[j]-prices[i] > max) {
        max = prices[j]-prices[i];
      }
    }
  }
  return max;
};
profile
하늘이의 개발 일기

0개의 댓글