목록array (3)
코딩쌀롱
문제 Leetcode Sort Colors 문제 - input: 숫자 0, 1, 2로 이뤄진 배열 - output: void, - 주의: 카피하지 않고 nums 배열을 in-place로 swap해서 sort 풀이 런타임: 71ms / 86.69% (주로 70ms대로 나옴) 메모리: 38MB / 98.00% var sortColors = function(nums) { let zeroP = 0; let twoP = nums.length - 1; for(let i = 0; i < nums.length; i++) { if(twoP < i) break; else if(nums[i] === 0) { nums[i] = nums[zeroP] nums[zeroP] = 0; zeroP++; if(zeroP-1 === i)..
문제 Leetcode Find Pivot Index 문제 - input: 정수 배열 nums - output: pivot index의 왼쪽의 모든 값의 합과 오른쪽의 모든 값의 합이 같을 때의 pivot index, 없으면 -1 풀이 80ms / 98.33% var pivotIndex = function(nums) { let total = nums.reduce((a,b) => a+b) let leftSum = 0; for(let i = 0; i < nums.length; i++) { const rightSum = total - leftSum - nums[i]; if(leftSum === rightSum) return i; leftSum += nums[i]; } return -1; }; pivot 인덱스 ..
알고리즘을 다시 처음부터 시작해보려고 한다. 코드스쿼드가 끝났으니 이제 모두 내가 알아서 해야한다! 처음부터 매일매일 쌓아가보자👊🏼 문제 Leetcode Move Zeroes 문제 - input: 정수 배열 nums - output: 0이 아닌 정수는 순서 그대로, 0만 오른쪽으로 이동한 배열 - 주의! 배열 복사하지 말고 in-place로 풀이 76ms / 93.54% var moveZeroes = function(nums) { let left = nums.indexOf(0); if(left === -1) return nums; let right = left; for(let i = left; i < nums.length; i++) { if(nums[right] === 0) right++; else { ..