일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- typescript
- 알고리즘
- Search Algorithm
- Hill Climbing
- 파이썬
- lightsailor
- 철학
- 코드
- node.js
- Local Search
- CS
- 문자열처리
- Simulated Annealing
- computerscience
- 컴퓨터과학
- AWS
- node배포
- multer-s3
- 컴퓨터공학
- 문자열
- 배포
- Today
- Total
목록전체 글 (59)
지식의모듈화
/** * @param {number[]} nums * @return {boolean} */ var canJump = function(nums) { let atLeastReach = nums.length-1 //4 for(let i= nums.length-2; i>=0 ; i--){ if (i+nums[i] >= atLeastReach){ atLeastReach = i } } return atLeastReach == 0 }; 마지막 배열에 닿을 수 있는지 뒤에서부터 생각하면 된다!
function solution(arr) { let result = 0 let numberOfZero = 0 // INPUT [[1,1,0,0],[1,0,0,0],[1,0,0,1],[1,1,1,1]] // OUPUT [[1,1],[1,0]], [[0,0],[0,0]], [[1,0],[1,1]], [[0,1][1,1]] // INPUT [[1,0][0,1]] // OUTPUT [[1],[0],[0],[1]] function toSmallerSquare(arr) { if (isFilledWith(arr, 0)) { numberOfZero += 1 return } if (isFilledWith(arr, 1)) { result += 1 return } if (arr.length == 1) { if (arr[0]..
function solution(triangle) { let ansArr = triangle.shift() triangle.forEach(e => { ansArr = sumOfArr(ansArr, e) }) return Math.max(...ansArr) } // [10,15] [8,1,0] [18,16,15] // [18,16,15] [2,7,4,4] function sumOfArr(arr1, arr2) { let ans = [] ans.push(arr1[0] + arr2[0]) for (let i = 1; i < arr2.length - 1; i++) { ans.push(Math.max(arr2[i] + arr1[i - 1], arr2[i] + arr1[i])) } ans.push(arr1[arr1...
/** * @param {number[]} nums * @return {number[]} */ var findDuplicates = function(nums) { const ans=[]; for(let i=0;i
1. DP solution /** * @param {number[]} nums * @return {boolean} */ var canJump = function(nums) { let i=nums.length-1; const jumps= new Array(nums.length).fill(false); jumps[i]=true; for (;i>=0;i--){ let max = Math.min(i+nums[i], nums.length-1) for(let j=i; max>=j;j++){ if(jumps[j]){ jumps[i]=true; } } } return jumps[0] }; 2. Greedy Solution var canJump = function(nums) { let index=nums.length-1..
1. 1개의 Set사용 /** * @param {character[][]} board * @return {boolean} */ var isValidSudoku = function(board) { let set= new Set(); for (let i=0; i
141. Linked List Cycle /** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } */ /** * @param {ListNode} head * @return {boolean} */ var hasCycle = function(head) { let fast= head; let ans=false; while(fast&&fast.next&&head){ head=head.next fast=fast.next.next if(head===fast) { ans=true; break; } } return ans };
46. Permutations /** * @param {number[]} nums * @return {number[][]} */ var permute = function(nums) { let visited= new Array(nums.length).fill(false); const ans =[]; function dfs(current){ if (current.length===nums.length){ ans.push(current); } for(let i=0;i