본문 바로가기

자바스크립트19

window.history API window.history 객체는 현재 브라우저 창의 세션 기록을 나타내는 JavaScript API입니다. 이 객체를 사용하면 브라우저 창의 이전 페이지 및 다음 페이지로 이동하거나, 이전 페이지로 돌아가는 등의 조작을 할 수 있습니다. window.history 객체에는 다음과 같은 메서드와 속성이 있습니다. 메서드: history.back(): 브라우저 창의 이전 페이지로 이동합니다. history.forward(): 브라우저 창의 다음 페이지로 이동합니다. history.go(n): n이 0보다 크면 브라우저 창의 다음 n번째 페이지로 이동하고, n이 0보다 작으면 이전 n번째 페이지로 이동합니다. history.pushState(state, title, url): 현재 페이지의 이력 스택에 새로.. 2023. 2. 28.
자바스크립트 힙(javascript heap) 야! 너 좀 힙한데?(이것만 보면 힙 가능) 자바스크립트로 코딩 테스트 문제를 풀면 우선순위 큐를 사용할 시간이 오게 된다. 하지만 아쉽게도 자바스크립트는 직접 코드를 작성해야 한다. 🥲 우선순위 큐를 알아보기 전에 우선순위 큐는 힙으로 되어있다. 그렇기 떄문에 근본인 힙을 알아야 한다. 힙부터 알아보자. 힙이란? 트리 구조의 일종으로 이진 트리와 비슷해 보이지만 다르며, 최대 이진 힙, 최소 이진 힙이 있다. 힙이랑 이진 힙이랑 같다고 보명 된다. 😀 힙은 이것만 알면 된다능~ 최대 이진 힙 기준 1. 트리의 루트는 최대 값이다. 2. 자식 노드는 항상 부모노드보다 작다. 3. 자식 노드는 순서가 없다. -> 이진트리랑 핵심 차이이다. 4. 최대 2개의 자식노드를 가질 수 있다. 이것만 알면 끝이다. 아래 사진은 이진트리와 최대 이진 힙의 차이다.. 2023. 1. 30.
JavaScript 조합 구현하기 어짜피 또 까먹을 미래의 나에게. 이걸 보러 왔다면, 또 까먹었구나. 일단 코드부터 보자 function combinations(arr, selectNumber) { const result = []; if (selectNumber === 1) return arr.map((el) => [el]); arr.forEach((fixed, index, origin) => { const rest = origin.slice(index + 1); const cms = combinations(rest, selectNumber - 1); const attached = cms.map((el) => [fixed, ...el]); result.push(...attached); }); return result; } 오랜만에 봐서.. 2023. 1. 26.