deque를 이용하는 문제이다.
거꾸로 생각해야하니 처음에 문제를 이해하기 어려웠다. 코드는 짜기 간단했다!
from sys import stdin
from collections import deque
N = int(stdin.readline())
card = list(map(int, stdin.readline().split()))
result = deque()
for i in range(N):
if card[N-i-1] == 1:
result.appendleft(i+1)
elif card[N-i-1] == 2:
result.insert(1,i+1)
elif card[N-i-1] == 3:
result.append(i+1)
print(*result)