[JS] 메모이제이션(Memoization)과 캐시 (Cache) / 리트코드 2623 풀이
·
Algorithm/LeetCode
1. 캐시(Cache) 이전에 계산한 값을 임시로 저장하는 메모리 영역 메모리 사용량을 줄일 수 있고 성능을 높일 수 있다. 2. 메모이제이션(Memoization) 프로그래밍을 할 때 반복되는 결과를 메모리에 저장해서 다음 호출에도 같은 결과가 나올 때 캐시된 값을 가져오는 기법 즉 한 번 계산한 값을 기억하고 동일한 입력이 나오면 미리 계산된 값을 반환하여 함수의 실행 속도를 높여줄 수 있다. 메모이제이션 기법을 활용하면 중복을 피하기 때문에 반복되는 결과에서 성능을 최적화 할 수 있다. 3. 코드 예시 function add(n) { if (n === 0) { return 0; } else { return n + add(n - 1); } } 이러한 코드가 있다고 예시를 들어보자 여러번 호출하면 계산..
[JS] 리트코드 2665 JS 문제풀이
·
Algorithm/LeetCode
var createCounter = function(init) { var value = init; var counter = { increment: function() { value++; return value; }, decrement: function() { value--; return value; }, reset: function() { value = init; return value; } }; return counter; }; 코드 한줄씩 설명 var createCounter = function(init) { var value = init; 주의사항: 클로저 함수 정의해주기! 여기서는 init이라는 초기값 하나로 함수를 세개나 정의해주어야 하기 때문에 초기 매개변수를 설정을 잘 받는 것이 중요하다. ..
하이롱하이롱
'Algorithm/LeetCode' 카테고리의 글 목록