반응형
18115번: 카드 놓기
수현이는 카드 기술을 연습하고 있다. 수현이의 손에 들린 카드를 하나씩 내려놓아 바닥에 쌓으려고 한다. 수현이가 쓸 수 있는 기술은 다음 3가지다. 제일 위의 카드 1장을 바닥에 내려놓는다.
www.acmicpc.net
코드
from collections import deque
n = int(input())
inp = list(map(int, input().split()))
dq = deque([])
inp.reverse()
for i in range(n):
if inp[i] == 1:
dq.appendleft(i+1)
elif inp[i] == 2:
a = dq.popleft()
dq.appendleft(i+1)
dq.appendleft(a)
elif inp[i] == 3:
dq.append(i+1)
for i in dq:
print(i,end=" ")
설명
입력 값을 역순으로 바꿔준다. 입력값이 1일 때는 덱의 왼쪽에 push를, 2일 때는 덱 왼쪽에서 두번째에 push해주고, 3일 때는 덱의 가장 오른쪽에 push를 해준다.
반응형
'알고리즘 > 자료구조' 카테고리의 다른 글
[백준][Python] 1918번 후위 표기식 (0) | 2022.02.17 |
---|---|
[백준][Python] 5430번 AC (0) | 2022.02.16 |
[백준][Python] 5397번 키로거 (0) | 2022.02.15 |
[백준][Python] 1021번 회전하는 큐 (0) | 2022.02.15 |
[백준][Python] 3986번 좋은 단어 (0) | 2022.02.14 |
댓글