스택 3

파이썬) 스택으로 큐 구현하기 (Queue with stack)

스택 두 개로 큐를 구현해보자. 그 뭐더라.. 구현하다보니 그 게임이 생각난다. 버터링같은 거 요리조리 옮기는 거.. 그거 어렸을 때 중독돼서 진짜 빨리했었는데 ㅋㅋ class Queue: def __init__(self) -> None: # enqueue 할 때 쓸 스택 self.enqueue_stack = [] # dequeue 할 때 쓸 스택 self.dequeue_stack = [] def enqueue(self, data): # queue에 아이템 넣기 O(1) self.enqueue_stack.append(data) def dequeue(self): # 두 stack 모두 아이템이 하나도 없을 경우 raise Exception 하기 if len(self.enqueue_stack) == 0 an..

자료구조 2022.04.12

leetcode 1700 리트코드 1700번 파이썬 풀이

첫 번째 샌드위치를 원하는 사람이 아무도 없을 때 남은 모든 학생의 숫자를 리턴하면 된다. 스택이랑 큐 문제이지만 쓸 필요 없음.. 그냥 카운터 쓰면 간단하다. 스탑 컨디션 찾는게 어려웠다. 문제를 잘 이해 못했던 것 같다. 그러니까 결국 샌드위치의 순서는 바뀌지 않고, 첫 번째 샌드위치를 원하는 학생이 있으면 학생 줄은 순서가 어떻게 되던간에 원하는 학생이 와서 샌드위치를 가져갈 것이다. 하지만 샌드위치의 순서는 변하지 않기 때문에, 첫 번째 샌드위치를 원하는 학생이 없으면 나머지 샌드위치가 어떤 것이든 남은 학생들은 모두 샌드위치를 먹지 못한다. from collections import Counter class Solution: def countStudents(self, students: List[..

알고리즘 2022.03.27