백준 2164 파이썬 큐 이해 문제 Queue
2024. 2. 15. 12:55ㆍ코딩 도구/백준
반응형
백준 2164 - 카드2
문제
https://www.acmicpc.net/problem/2164
답안 코드 :
from collections import deque
N = int(input())
myQueue = deque()
for i in range(1, N+1):
myQueue.append(i)
while len(myQueue) > 1: # 카드가 1장 남을 때까지
myQueue.popleft() # 맨 위의 카드를 버림
myQueue.append(myQueue.popleft()) # 맨 위의 카드를 가장 아래 카드 밑으로 이동
print(myQueue[0]) # 마지막으로 남은 카드 출력
생각 :
# 큐 이해 문제
# 가장 위의 카드를 가장 아래에 있는 카드 밑으로 옮기는 동작 = 큐의 선입선출 성질
# 카드 개수 최대가 500,000이므로 시간 복잡도 제약도 크지 않음
# 큐로 해결해야지
# 문제 풀이
# 1 popleft를 수행하여 맨 앞의 카드 버리기
# 2 popleft -> append 맨 앞 카드를 가장 아래로
# 3 큐 크기가 1까지 과정 1,2 반복 후 출력
반응형
'코딩 도구 > 백준' 카테고리의 다른 글
백준 2750 파이썬 정렬(sort함수 사용x) 직접 구현 (38) | 2024.02.17 |
---|---|
백준 11286 파이썬 우선순위 큐 sys.stdout.write (37) | 2024.02.16 |
백준 17298 파이썬 , 스택의 후입선출 성질 이용 (31) | 2024.02.13 |
백준 1847 파이썬 , 스택의 원리 이용 (35) | 2024.02.11 |
백준 11003 파이썬, 덱 구현해서 정렬(슬라이딩 윈도우) (42) | 2024.02.09 |