코딩테스트 JS LRU 캐시: 지도 타일 재사용 기록
최근 사용한 타일만 보관하며 각 요청의 캐시 적중 여부와 마지막 보관 순서를 구합니다. 적중한 요청도 최근 사용 시점을 갱신합니다.
웹퍼블리싱 실무를 바탕으로 React, Next.js, TypeScript와 프론트엔드 문제 해결 과정을 기록합니다.
총 368개의 글
최근 사용한 타일만 보관하며 각 요청의 캐시 적중 여부와 마지막 보관 순서를 구합니다. 적중한 요청도 최근 사용 시점을 갱신합니다.
용량 두 칸의 캐시로 LRU 정책을 배웁니다. Map 조회와 이중 연결 리스트의 위치 이동을 분리해 각 연결을 바꾸는 이유를 설명합니다.
전시실별 예상 인원을 한 칸씩 교체하며 구간 합계를 구합니다. replace는 증가량이 아니라 새로운 값을 지정합니다.
작은 배열의 합계 트리로 세그먼트 트리를 배웁니다. 구간을 나누어 읽는 과정과 값 하나를 바꿀 때 고칠 부모를 단계별로 설명합니다.
처음 0인 선반별 수량 기록에 양수·음수 보정을 적용하고 반열린 구간의 순합을 계산합니다. 입력 값은 최종 값이 아니라 보정량입니다.
여덟 칸의 담당 구간을 먼저 그려 Fenwick Tree를 배웁니다. prefix(7)의 구간 분해와 lowbit, 조회·갱신 방향을 작은 코드로 확인합니다.
별칭을 등록·해제하며 주어진 접두사로 시작하는 서로 다른 별칭 수를 셉니다. 중복 등록과 존재하지 않는 별칭 해제는 목록을 바꾸지 않습니다.
작은 단어 목록으로 Trie의 공유 경로와 단어 끝을 배웁니다. 접두사 개수와 삭제 때 보존할 연결을 상태 변화로 따라갑니다.
장치 연결 요청마다 남은 네트워크 수와 요청 첫 장치의 네트워크 크기를 기록합니다. 중복 요청과 자기 연결은 새로운 합병이 아닙니다.
다섯 장치를 연결하며 대표 번호와 묶음을 이해합니다. parent 배열을 직접 따라간 뒤 경로 압축과 크기 합치기의 이유를 배웁니다.