차곡차곡

[BOJ/Python] 백준 18115번 - 카드 놓기 본문

CS/Algorithm

[BOJ/Python] 백준 18115번 - 카드 놓기

sohy 2022. 7. 1. 21:12

백준 #18115 카드 놓기

 

18115번: 카드 놓기

수현이는 카드 기술을 연습하고 있다. 수현이의 손에 들린 카드를 하나씩 내려놓아 바닥에 쌓으려고 한다. 수현이가 쓸 수 있는 기술은 다음 3가지다. 제일 위의 카드 1장을 바닥에 내려놓는다.

www.acmicpc.net

from collections import deque
import sys
input = sys.stdin.readline

n = int(input())   # 카드 수
skill = list(map(int, input().split()))   # 기술
card = deque()
num = 1

for i in range(n-1, -1, -1):
  if skill[i] == 1:
    card.insert(0, num)
  elif skill[i] == 2:
    card.insert(1, num)
  else:
    card.append(num)
  num += 1

print(*card)

카드를 놓을 때 사용했던 기술(skill)을 뒤부터 본다. 빈 리스트(card)에 기술에 따라 카드를 넣게 되는데, 1번 기술일 경우 리스트 맨 앞 위치에, 2일 경우 두 번째 위치에, 3일 경우 마지막 위치에 삽입한다. 이때 카드는 1번부터 시작된다.

 

Comments