본문 바로가기
코딩라이브러리/파이썬

백준 2164 큐, deque 연습

by 유니네 라이브러리 2024. 5. 31.

백준 2164 문제 풀이

https://www.acmicpc.net/problem/2164

백준 2164 큐(deque) 문제풀이

풀이

전형적인 큐 연습 문제로,

제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮기는 방안을

  • deque 객체의 rotate() 메서드를 사용하여 구현하거나,
  • popleft()와 append()를 사용하여 구현하느냐는 선택의 문제

deque 객체의 rotate() 메서드 사용 코드

#rotate() 사용
import sys
from collections import deque
N = int(sys.stdin.readline().rstrip())
lst = deque([i+1 for i in range(N)])
#print(lst)
while True:    
    if len(lst) == 1:
        break    
    lst.popleft()    
    lst.rotate(-1)

print(lst[0])
"""
6
4
"""

 

deque 객체의 popleft() 와 append()를 사용 코드

#append() 사용
import sys
from collections import deque
N = int(sys.stdin.readline().rstrip())
lst = deque([i+1 for i in range(N)])
#print(lst)
while True:    
    if len(lst) == 1:
        break    
    lst.popleft()    
    lst.append(lst.popleft())

print(lst[0])
"""
6
4
"""

 

☞ 큐 (deque) 사용법은 이전 글 참고

 

파이썬 스택, 큐 deque (with 백준 18258)

스택 파이썬에서 스택은 리스트 객체를 사용한다.☞ 리스트 (배열)에 대한 내용은 이전 글 참고 파이썬 리스트 배열 list (with 백준 5597, 10250)파이썬의 리스트는 대괄호 사이에 쉼표로 구분된 값

yuneenelife.tistory.com