Koala - 7기/코딩테스트 준비 스터디
[백준 / Python] 2164번 카드2
skdus8784
2022. 8. 7. 20:19
https://www.acmicpc.net/problem/2164
[문제 해석]
본 문제는 큐를 사용해 푸는 문제로, N장의 카드를 입력해 1~N의 수를 큐에 입력하여, Q를 주어진 조건에 맞게 pop, push를 활용해 푸는 문제이다.
[소스코드]
from collections import deque
N = int(input())
deque = deque([i for i in range(1, N+1)])
while(len(deque) >1):
deque.popleft()
move_num = deque.popleft()
deque.append(move_num)
print(deque[0])
[문제 해결]
deque를 사용하여, deque의 배열 길이가 1보다 클 때 반복하도록 한다.
가장 왼쪽에 있는 원소를 리턴하고, 다음 왼쪽에 있는 원소를 move_num에 저장한 후 그 원소를 deque 배열에 추가한다.
그 후에 반복문이 끝나면 deque에서 0번째 원소를 출력하도록 한다.