Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- jwt
- 항해99
- @FeignClient
- 빈 조회 2개 이상
- 파이썬
- 커스텀 헤더
- JavaScript
- 전략패턴 #StrategyPattern #디자인패턴
- 디자인 패턴
- Spring multimodule
- DesignPattern
- 취업리부트코스
- TiL
- 구글 OAuth login
- 개발자부트캠프추천
- 프로그래머스 이중우선순위큐
- 인프콘 2024
- KPT회고
- 코딩테스트 준비
- 프로그래머스
- 1주일회고
- infcon 2024
- 단기개발자코스
- jwttoken
- 디자인패턴
- 빈 충돌
- 개발자 취업
- spring batch 5.0
- 99클럽
- Python
Archives
- Today
- Total
m1ndy5's coding blog
99클럽 코테 스터디 6일차 TIL 힙 :LeetCode 2336. Smallest Number in Infinite Set with Python 본문
알고리즘 with python
99클럽 코테 스터디 6일차 TIL 힙 :LeetCode 2336. Smallest Number in Infinite Set with Python
정민됴 2024. 5. 25. 17:01https://leetcode.com/problems/smallest-number-in-infinite-set/description/
문제는 위쪽에서!
힙을 사용하면 간단하게 풀리는 문제였다.
그리고 Infinite Set라면서 num의 제한이 1000까지였다는 어이없는(?)ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
import heapq
class SmallestInfiniteSet:
def __init__(self):
self.hq = [i for i in range(1, 1001)]
heapq.heapify(self.hq)
self.s = set(self.hq)
def popSmallest(self) -> int:
res = heapq.heappop(self.hq)
self.s.remove(res)
return res
def addBack(self, num: int) -> None:
if num not in self.s:
self.s.add(num)
heapq.heappush(self.hq, num)
문제의 조건 중에 중복되는 값은 push하면 안된다고 해서 push할 때 set에 없을 때만 넣어주었다.
파이썬의 class 형식을 알아야 풀 수 있었던 문제같다.
계속 this.hq 이러고 있었다는ㅋㅋㅋㅋㅋㅋ
오늘의 교훈! 조건을 잘 확인하자.