I turn coffee into code ☕ → 💻 자세히보기

2025/04 2

스크롤 기반 싱글 페이지 라우팅 구현하기

포트폴리오 페이지를 만들려는데, 스크롤 기반으로 동작되도록 하고 싶었다.일단 필요한 기능은1. 스크롤 시 경로 변경2. 메뉴 클릭 시 해당 섹션으로 이동3. 특정 페이지(메인, 마지막)에선 메뉴 숨김const mainRef = useRef(null); // 타입 명시const aboutMeRef = useRef(null);const projectRef = useRef(null);const experienceRef = useRef(null);const contactRef = useRef(null);useRef로 각 세션의 DOM을 저장한다.이걸 이용해서 scrollntoView()로 해당 섹션으로 스크롤 하거나, IntersectionObserver로 감시할 수 있다.useRef리액트 컴포넌트에서 DOM ..

개발/프로젝트 2025.04.04

[프로그래머스] 수열과 구간 쿼리 2, 3, 4

수열과 구간 쿼리 2- 정수 배열 arr와 2차원 정수 배열 queries가 주어짐.- queries의 원소는 각각 하나의 query를 나타내며, [s, e, k] 꼴- 각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 k보다 크면서 가장 작은 arr[i]을 찾음- 각 쿼리의 순서에 맞게 답을 저장한 배열 반환 (단, 특정 쿼리의 답이 존재하지 않으면 -1 저장)우선 arr 배열을 s ≤ i ≤ e과 i > k로 필터링을 한다.그 후 필터링 된 배열에서 가장 작은 수를 Math.min() 메소드로 찾으면 됨. (없으면 -1)function solution(arr, queries) { const answer = []; for (const [s, e, k] of queries) { //..

개발/알고리즘 2025.04.03