Search

Number of Recent Calls

문제 설명 : 매번 증가하는 Ping값을 받았을 때, 조건에 맞는 핑 값이 몇개 있는지 반환
풀이 방법
Queue를 사용하여 가장 먼저 들어온 핑부터 (최근 핑 값 - 3000)보다 큰지 확인한다.
단순한 큐 구현을 묻는 것 같다
시간복잡도 : O(N)O(N)
성공 코드
from collections import deque class RecentCounter: def __init__(self): self.output = deque() def ping(self, t: int) -> int: self.output.append(t) while self.output and self.output[0] < t - 3000: self.output.popleft() return len(self.output) # Your RecentCounter object will be instantiated and called as such: # obj = RecentCounter() # param_1 = obj.ping(t)
Python
복사