[리트코드] 70, 1, 88




70. Climbing Stairs

리트코드

나의 풀이

/**
 * @param {number} n
 * @return {number}
 */
var climbStairs = function (n) {
  const arr = [0, 1, 2];
  for (let i = 3; i <= n; i++) {
    arr[i] = arr[i - 1] + arr[i - 2];
  }
  return arr[n];
};

console.log(climbStairs(3));



1. Two Sum

리트코드

처음 풀이 (런타임 에러)

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function (nums, target) {
  for (let i = 0; i < nums.length; i++) {
    for (let j = i+1; j < nums.length; j++) {
      if (nums[i] + nums[j] === target) return [i, j];
    }
  }
};

큐처럼 구현하였지만 런타임에러가 났다. (괜히 미디엄이 아닐테지..)



88. Merge Sorted Array

리트코드

var merge = function (nums1, m, nums2, n) {
  nums1 = [...nums1, ...nums2].filter(v => v !== 0).sort((x, y) => x - y);
};

console.log(merge([1, 2, 3, 0, 0, 0], 3, [2, 5, 6], 3));