기술(Tech, IT)/리트코드(LeetCode)

[LeetCode] 359. Logger Rate Limiter

Daniel803 2023. 4. 2. 04:53

 같은 message가 10초 안에 다시 Print 되지 않도록 확인하는 함수를 만들면 된다. 파이썬의 해시맵을 사용해 해당 message의 timestamp를 확인하고 갱신해 True/False를 반환한다.

class Logger:
    def __init__(self):
        self.d = defaultdict(int)

    def shouldPrintMessage(self, timestamp: int, message: str) -> bool:
        if message not in self.d:
            self.d[message] = timestamp
            return True
        else:
            if timestamp - self.d[message] < 10:
                return False
            else:
                self.d[message] = timestamp
                return True