728x90
    
    
  [Javascript] (LeetCode) 121. Best time to buy and sell stock (Easy)
💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.
내 풀이
/**
 * @param {number[]} prices
 * @return {number}
 */
var maxProfit = function(prices) {
  // 비교해서 전날 보다 싼 날이 있는지 확인 
  // for돌리면서 -되면 팔기, 
  // 그냥 배열에 오늘과 다음날의 비교값을 다 담아서 +인지 아닌지 여부 확인해서 + 이면 팔고 -이면 안팔고 이런식으로 해야될것 같은데 ? 
  const maxNums = [];
  let maxNum = Number.MIN_VALUE;
  let j = 1;
  let i = 0;
  while (j < prices.length) {  
    if (prices[j] < prices[i]) {
      i = j;
      j++;
      continue;
    }
    let diff = prices[j] - prices[i];
    diff = prices[j] - prices[i];
    maxNum = Math.max(diff, maxNum);
    j++;  
  }
  return maxNum;
};- 한번만 거래할수 있다는 가정이 있어서 가장 좋은 결과를 낼수 있는 타이밍을 찾는 문제였다.
- for문으로 자꾸 해결하려다 보니 복잡했는데, while로 풀게 되니 금방 풀리게 되었다. 특히나 투 포인터를 사용하는 문제는 while이 훨씬 쉽게 풀린다는걸 느꼈다.
'Coding Test > LeetCode' 카테고리의 다른 글
| [Javascript] (LeetCode) 7. Reverse Integer (Medium) (0) | 2022.07.25 | 
|---|---|
| [Javascript] (LeetCode)136. Single Number (Easy) (0) | 2022.07.25 | 
| [Javascript] (LeetCode) 217. Contains Duplicate (Easy) (0) | 2022.07.24 | 
| [Javascript] (LeetCode)122. Best Time to Buy and Sell Stock II (Medium) (0) | 2022.07.22 | 
| [Javascript] (LeetCode) 26. Remove Duplicates from Sorted Array (Easy) (0) | 2022.07.20 | 
| [Javascript] (LeetCode) 19. Remove Nth Node From End of List (Medium) (0) | 2022.07.14 | 
| [Javascript] LeetCode 876. Middle of the Linked List (0) | 2022.07.14 | 
| [Javascript] LeetCode 557. Reverse Words in a String III (0) | 2022.07.13 | 
댓글