파이썬 queue 모듈 사용하기. 백준 2164 파이썬 문제풀이.
2023. 8. 7. 19:17ㆍ코딩테스트
반응형
import queue
cards = int(input())
deck = queue.Queue()
for i in range(1, cards+1):
deck.put(i)
print(list(deck.queue))
지금 백준 문제를 하고 있는데 파이썬 queue 모듈을 쓰고싶어서 공부중이다. 우선 queue를 import 하고 초기화가 queue.Queue()를 한다. 희한하다. 아마 Queue() 말고 다른 것도 있나보다 아마 deque겠지? 데크라고 한다. 데큐라고 하지말자.
list(deck.queue)를 했더니 리스트 형식으로 안에 들어있는 요소들이 모두 나왔다.
https://docs.python.org/3/library/queue.html
import queue
import sys
cards = int(sys.stdin.readline())
deck = queue.Queue()
for i in range(1, cards+1):
deck.put(i)
print(list(deck.queue))
print(deck.get())
print(list(deck.queue))
deck.put(deck.get())
print(list(deck.queue))
print(deck.get())
print(list(deck.queue))
deck.put(deck.get())
본격 공부. 여기서는 get()이라는 메서드를 쓰면 앞에거가 빠져나온다.
그리고 put을 쓰면 input이 됨. 그래서 이것을 계속 반복하는 것을 만든다.
import queue
import sys
cards = int(sys.stdin.readline())
deck = queue.Queue()
for i in range(1, cards+1):
deck.put(i)
while deck.qsize() > 1:
deck.get()
deck.put(deck.get())
print(deck.get())
내가 푼 문제. queue에는 len을 쓰지 못하고 qsize()라는 것을 써야한다.
다른 사람들 것 보니까 deqeue로 많이 했던데.. 이거도 큐의 종류니까 그렇게 풀어도 되는거겠지? 위 코드는 시간이 다소 오래 걸렸다.
728x90
'코딩테스트' 카테고리의 다른 글
백준 2346. 파이썬 데크 문제풀이 (0) | 2023.08.09 |
---|---|
백준 11866 파이썬 문제풀이. (0) | 2023.08.08 |
백준 9012 파이썬 문제풀이. (0) | 2023.08.07 |
백준 10773 파이썬 문제풀이 (0) | 2023.08.07 |
백준 2798 파이썬 문제풀이 (0) | 2023.08.07 |