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번째 원소를 출력하도록 한다.
'Koala - 7기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[백준 / Python] 17298 - 오큰수 (0) | 2022.08.07 |
---|---|
[백준/python] 1158번 요세푸스 문제 (0) | 2022.08.07 |
[백준/Python] 2346번: 풍선 터뜨리기 (0) | 2022.08.07 |
[백준/JAVA] 11003 최솟값찾기 (0) | 2022.08.06 |
[백준/C++] 2164 카드 2 (0) | 2022.08.05 |