Web Dev/2. JS 알고리즘
-
스택으로 큐, 큐로 스택 메모Web Dev/2. JS 알고리즘 2021. 6. 15. 14:17
https://bellog.tistory.com/143 [리트코드(LeetCode)] 큐로 스택 구현하기, 스택으로 큐 구현하기 - Python leetcode.com/problems/implement-queue-using-stacks Implement Queue using Stacks - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get.. bellog.tistory.com 자주 받는 질문인데, 자주까먹어서 찾아본 자료. 1. 스택으로 큐를 구현할때 - 스택 두개를 준비한다 - 큐의 성질은 뺄때 먼저 넣은게 먼저 나온다는 것(FIFO) - 스택a..
-
두시간 알고리즘 12일차.. 다이나믹 프로그래밍 몇문제 풀기Web Dev/2. JS 알고리즘 2021. 6. 15. 14:00
1. 최소 교정 비용 문제 // 5.1 최소 교정 비용 문제 // 재귀 호출 을 사용하는 풀이와 설명 // str1에 뭔가 해서 바껴야함 const editDistance1 = (str1, index1, str2, index2) => { if(index1 >= str1.length - 1){ return str2.length - index2; } if(index2 >= str2.length - 1){ return str1.length - index1; } if(str1[index1] === str2[index2]){ return editDistance1(str1, index1+1, str2, index2 + 1); } // 삭제 let d = editDistance1(str1, index1+1, str2..
-
-
두시간 알고리즘 - 9일차, 다이나믹 프로그래믹 완전 정복 Chapter3, 4 예제Web Dev/2. JS 알고리즘 2021. 6. 4. 19:15
다이나믹 프로그래밍은 "복잡한 문제를 간단한 여러 개의 문제를 나누어 푸는 방법"으로 어떤 특정한 프로그래밍 기법같은게 아니다. 아무래도 이거 이름 지은 사람은 어쩌면 많은 프로그래머들의 삶에 죄를 조금씩 지은거아닐까. 이거때문에 혼란스러워하는 사람들이 한둘이 아니니. 내 느낌엔 복잡한 문제를 간단하게 풀어야겠다, 하는 마음가짐이 다이나믹 프로그래밍 같다. 안다고해서 문제를 풀때는 도움이 되는 느낌은 안들었다. 왜냐하면 어떻게 간단하게 풀건가, 부분이 핵심인데 다이나믹 프로그래밍이 뭔지 안다고 어떻게 간단하게 푸는진 알아지질 않더라. 그래도 어떻게 접근하면 좋을지를 익혀보려고 한다. . Chapter3예제 JavaScript화 // 코드 2-5 const cost = [ [0, 10, 75, 94], [..
-
두시간 알고리즘 - 8일차, 다이나믹 프로그래믹 완전 정복 Chapter1,2 예제 JavaScript화 하기Web Dev/2. JS 알고리즘 2021. 6. 3. 12:01
http://m.yes24.com/goods/detail/79257722 다이내믹 프로그래밍 완전 정복 - YES24 빠르고 우아한 상향식 문제 풀이법으로 코딩 면접 광탈에서 멘탈갑으로 거듭나기 다이내믹 프로그래밍(동적 계획법)은 알고리즘을 공부하다 마주치는 첫 번째 큰 장벽이다. 이 m.yes24.com 다이나믹프로그래밍 완전정복 책을 공부하기시작했다! 알고리즘쪽에서 늘수있을가 의심이되기까지하는 분야가 다이나믹 프로그래밍이라 이책으로 진짜 제발 이게 뭔지 이해를 했으면 좋겠다. Chapter1. 재귀 호출의 이해 재귀호출 문제를 풀때는 항상 뭔가가 찜찜한 마음으로 푸는데, 이 책에서 쉽게 표현하기로는 문제의 풀이법을 직관적으로 정리하기 어려울때 문제의 크기를 줄여놓고, 큰 문제와 작은 문제의 관계 속에..
-
두시간 알고리즘 - 6일차, Sliding Window(1)Web Dev/2. JS 알고리즘 2021. 5. 31. 11:11
1. Grumpy BookStore Owner: 56m21s94 https://leetcode.com/problems/grumpy-bookstore-owner/ Grumpy Bookstore Owner - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 삽질이 심했다. 월욜아침은 이런건가. 윈도우 크기를 고정하고, 해당 범위내에서 불만족하는 고객수를 계속 체크해서, 그게 maximum인곳을 찾은뒤에, 전체 만족하는 고객수에다가 합산을 해주면된다. /** * @pa..
-
두시간 알고리즘 - 5일차, two pointer(2)Web Dev/2. JS 알고리즘 2021. 5. 28. 11:11
https://leetcode.com/tag/two-pointers/ 더 풀어야징 1. 3Sum: 29m02s95 https://leetcode.com/problems/3sum/ /** * @param {number[]} nums * @return {number[][]} */ var threeSum = function(nums) { nums.sort((a, b) => a - b); const answer = []; const checker = new Set(); for(let k = 0; k < nums.length - 2; k++){ if(checker.has(nums[k])){ continue; } checker.add(nums[k]); const target = 0 - nums[k]; let lef..
-
두시간 알고리즘 - 4일차, two pointer(1)Web Dev/2. JS 알고리즘 2021. 5. 27. 10:49
4일차.. https://leetcode.com/tag/two-pointers/ Two Pointers - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com - 기법 설명: https://velog.io/@adorno10/%ED%88%AC-%ED%8F%AC%EC%9D%B8%ED%84%B0-Two-Pointer 투 포인터 (Two Pointer) 정렬된 리스트를 두 개의 포인터를 이용해 순차적으로 접근하면서 두 포인터 구간의 값이 타겟 값과 같을 때 까지 포인터를 조..