문제 : https://leetcode.com/problems/implement-queue-using-stacks/
문제에서 스택 두 개 쓰라길래 어떻게 하라는지 모르겠어서 무시하고 일단 해봤는데 통과는 함
그것도 더 빠르게. 일종의 치팅이니까 일단 답을 보기로 함. gpt에게 물어봄.
def dequeue(self):
"""
큐에서 데이터를 제거 (FIFO)
"""
if not self.stack_out:
# stack_out이 비어있으면 stack_in에서 데이터를 옮긴다
while self.stack_in:
self.stack_out.append(self.stack_in.pop())
if self.stack_out:
return self.stack_out.pop()
else:
return None # 큐가 비어있을 때
LIFO인 스택에서 pop을 하면서 다시 LIFO인 다른 스택에 넣으면
원래 들어왔던 순서대로는 FIFO가 되니까
deque를 요청했을 때 다른 스택에 pop하면서 넣은 뒤에 하나 빼기
만약 다른 스택에 이미 뭐가 있었다면 일단 하나 빼기
천잰듯
'📝 Study Notes > Baekjoon' 카테고리의 다른 글
1406 에디터 (Python) (0) | 2024.10.08 |
---|---|
21653 Скобки (Python) (0) | 2024.09.24 |
1948 임계경로 (Python) (0) | 2024.09.20 |
1005 ACM Craft (Python) (0) | 2024.09.20 |
3055 탈출 (Python) (0) | 2024.09.20 |