본문 바로가기
알고리즘/자료구조

[백준][Python] 18115번 카드 놓기

by 임짠짠 2022. 2. 16.
반응형
 

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를 해준다. 

반응형

댓글