백엔드
보통
코딩
Rate Limiter 구현
Token Bucket 알고리즘을 사용한 Rate Limiter 구현
30분
100점
#3632
문제 설명
API 요청 제한을 위한 Rate Limiter를 Token Bucket 알고리즘으로 구현하세요.
Token Bucket 알고리즘
- 버킷에 최대 N개의 토큰을 저장할 수 있음
- 매 초마다 R개의 토큰이 추가됨
- 요청 시 토큰이 있으면 1개 소비하고 허용
- 토큰이 없으면 요청 거부
클래스 인터페이스
class RateLimiter:
def __init__(self, capacity, refill_rate):
# capacity: 버킷 최대 용량
# refill_rate: 초당 토큰 추가 개수
pass
def allow_request(self, timestamp):
# timestamp: 현재 시간 (초 단위)
# 요청 허용 시 True, 거부 시 False 반환
pass
제약 조건
- 1 ≤ capacity ≤ 1000
- 1 ≤ refill_rate ≤ 100
- timestamp는 단조 증가
힌트
힌트를 활용하세요
실행 버튼을 눌러 코드를 실행하세요.