K
KRYFT Problem Bank
프론트엔드 보통 코딩

Debounce 함수 구현

검색 입력에 사용할 debounce 함수를 직접 구현하세요

30분
100점
#3629

문제 설명

debounce 함수를 구현하세요. debounce는 함수가 호출된 후 일정 시간이 지나야 실제로 실행되며, 그 사이에 다시 호출되면 타이머가 리셋됩니다.

함수 시그니처

function debounce(func, delay) {
    // 구현
}

사용 예시

const debouncedSearch = debounce((query) => {
    console.log("Searching:", query);
}, 300);

// 빠르게 연속 호출
debouncedSearch("a");
debouncedSearch("ab");
debouncedSearch("abc");
// 300ms 후 "Searching: abc" 한 번만 출력

요구사항

  • 마지막 호출 후 delay ms가 지나야 함수 실행
  • delay 내에 다시 호출되면 타이머 리셋
  • 원본 함수에 전달된 인자를 그대로 전달
  • this 컨텍스트 유지

힌트

실행 버튼을 눌러 코드를 실행하세요.