백준

백준 2164번: 카드2

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

 

2164번: 카드2

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

www.acmicpc.net

1
2
3
4
5
6
7
8
9
10
from collections import deque
= int(input())
card = deque([])
for i in range(1,n+1):
    card.append(i)
while len(card)!=1:
    card.popleft()
    card.append(card[0])
    card.popleft()
print(card[0])
cs

 

느낀 점

처음 이 문제를 풀었을 때는 deque를 쓰지 않고 del이나 remove를 써서 리스트 요소를 제거했다. 하지만, 시간 초과 오류가 발생했고, deque를 써보라는 다은 누나의 조언으로 deque를 써서 문제를 해결할 수 있었다. 다음에 리스트 요소를 제거할 때는 deque를 써야겠다.

'백준' 카테고리의 다른 글

백준 2609번: 최대공약수와 최소공배수  (0) 2021.05.07
백준 11651번: 좌표 정렬하기 2  (0) 2021.05.07
백준 1436번: 영화감독 숌  (0) 2021.05.04
백준 1181번: 단어 정렬  (1) 2021.05.04
백준 10250번: ACM 호텔  (0) 2021.05.03