본문 바로가기

leetcode2

2020.08.26 Move Zeros 풀이 문제) 숫자 배열이 주어질때, 0은 배열의 끝으로 몰아 수정하는 것. 이 때, 배열은 카피해서 쓸 수 없으며, 원배열 자체를 수정해야 한다. 풀이) 야호! 이번 문제도 정해놓은 시간 안에 풀었다! (쉬운 문제, 정답률이 높은 것만...선정) 빈 배열을 정의하고, 0이 나올 때마다 해당 인덱스를 빈 배열에 오름차순으로 추가한다. 0이 아닌 숫자가 나올 경우, 0의 인덱스 중 제일 작은 숫자를 선정해 (오름차순으로 추가했기 때문에, 0번째 인덱스를 가져다 쓰면된다) 해당 인덱스와 순서를 스위치한다. O(n) 시간 복잡도를 가진다. /** * @param {number[]} nums * @return {void} Do not return anything, modify nums in-place instead. .. 2020. 8. 26.
2020.08.24 Two Sum 다른 풀이 var twoSum = function(nums, target) { let comp = {}; for(let i = 0; i < nums.length; i++){ if(comp[nums[i]] !== undefined) { console.log(comp) return [comp[nums[i]], i] } comp[target - nums[i]] = i } } 주말에 하기로 한 two sum 의 풀이는 평일인 오늘에 하게 되었다. 해당 문제에 대한 풀이를 보니, 지난번 내가 푼 방법이 'Brutal force'한 풀이라며 말 그대로 우격다짐으로 억지로 풀어낸 해답답게 엄청난 runtime과 시간 복잡도를 자랑했다. 다른 풀이가 있을까 하여 봤더니, Hash table 의 방법을 이용하는 방법이었다. 자바스.. 2020. 8. 24.