Notice
Recent Posts
Recent Comments
12-12 13:33
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

-

[백준 2164] 카드 2 - 파이썬 본문

Algorithm

[백준 2164] 카드 2 - 파이썬

choiht 2023. 4. 25. 22:29
반응형

문제

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

 

2164번: 카드2

N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가

www.acmicpc.net

 

 

풀이

from collections import deque

n = int(input())
cards = deque([])

for i in range(1, n+1):
    cards.append(i)


while(len(cards) != 1):
    cards.popleft()
    cards.append(cards.popleft())

print(cards[0])

큐를 사용하는 문제다. 

 

1. 카드를 넣을 큐를 생성한다. 

2. 카드의 개수가 한개 남을때까지 while문을 돌며 첫번째 원소를 제거하고, 두번째 원소를 빼서 맨 뒤로 넣는다. 

3. 큐에 한개 남은 원소를 출력한다. 

 

 

* 리스트와 pop을 사용해서 문제를 풀어도 되긴 하지만 시간초과가 난다. 

반응형
Comments