본문 바로가기

leetcode3

[LeetCode] 11. Container With Most Water (Javascript) https://leetcode.com/problems/container-with-most-water/submissions/ 막대들이 주어지고, 가장 넓은 면적을 찾는 문제다. 이중포문과 완전탐색으로 풀었는데, 문제를 딱 봤을때 직관적으로 떠오르는 풀이방법이긴 하지만... 더 좋은 방법이 있지 않을까? var maxArea = function(height) { // 위치 index, 높이 h인 object 배열을 만든다. const map = height.map((h, index)=> ({index, h})); let answer = 0; // 이중 포문...으로 모든 조합을 찾는다. for (let i = 0 ; i < map.length; i++) { for (let j = i + 1; j < map... 2020. 7. 21.
[LeetCode] 349, 350. Intersection of Two Arrays I, II (Javascript) 배열의 겹치는 부분을 찾는 문제다. 1은 여러번 겹쳐도 하나만 리턴하면 되고, 2는 여러번 겹치면 여러개를 리턴해야 한다. Intersection of Two Arrays I var intersection = function(nums1, nums2) { const answer = [] for (n1 of nums1) { if(nums2.includes(n1)){ answer.push(n1) } } return Array.from(new Set(answer)); }; nums1 배열을 반복을 돌면서 nums2에도 있다면 삭제하고 answer 배열에 담는 방식으로 풀었다. var intersection = function(nums1, nums2) { const answer = nums1.filter((n1).. 2020. 7. 20.
[LeetCode] 189. Rotate Array (Javascript) k번만큼 배열 앞에서 뒤로 아이템을 옮기는 문제다. var rotate = function(nums, k) { for(let i = 0; i < k; i++) { const pop = nums.pop(); nums.unshift(pop); } return nums; }; 문제 흐름대로 k번 반복을 돌며 pop과 unshift를 해도 되지만 var rotate = function(nums, k) { const spliced = nums.splice(nums.length - k, nums.length); nums.unshift(...spliced); return nums; }; k개만큼 떼서 한번에 unshift하는게 훨씬 낫다. 2020. 7. 20.