[Code-kata] week4 - day2 : JavaScript

nomadhj·2022년 6월 5일
0

Code-kata

목록 보기
3/6

Code-kata week4 - day2 자바스크립트 풀이


- 문제

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

- 나의 풀이

  • 각 요소에서 2개를 뽑아 그 차이를 비교하는 문제로 판단, 이중 for문을 사용하여 간단하게 해결하였다.
  • 다만 뽑은 요소가 중복되지 않도록 Index를 조정하였고, 그 결과 코드는 아래와 같다.
      const maxProfit = (prices) => {
        let result = 0;
        for (let i = 0; i < prices.length; i++) {
          for (let j = i + 1; j < prices.length; j++) {
            result =
              prices[j] - prices[i] > result ? prices[j] - prices[i] : result;
          }
        }

        return result;
      };
  • 중복 되지 않도록 요소 2개를 취하고, 해당 요소의 차이를 기존 값과 비교해가며 최대 값을 추출하였다.
profile
프론트엔드 개발과 맥주에 관심 있습니다.

0개의 댓글