๐๋ฌธ์ :


๐ํ์ด:
์ด๊ธฐ ์ฝ๋์์ ์ผ์ ๊ท์น์ ๋ฐ๋ผ ์ซ์ ์นด๋๊ฐ ์์ด๋๋ฐ, ๋ฌธ์ ์์ ์ด๊ธฐ ์ฝ๋๋ฅผ ์์๋ด์ผ ํ๊ธฐ ๋๋ฌธ์ ๊ฑฐ๊พธ๋ก ์๊ฐํ๋ ๋ถ๋ถ์ด ์ด๋ ค์ ๋ค.
ํ์ง๋ง ๋ง์ ๋ฐฉ๋ฒ์ ์๊ณ ๋๋ ์ ๋ง ๊ฐ๋จํ๋ค. ์์ฌ ์๋ ์ซ์ ์นด๋๋ ํญ์ ์์์๋ถํฐ 1, 2, 3, 4, 5.. ์์ผ๋ก ๊ฐ๊ณ , 1์ ๊ฒฐ๊ตญ ๋ง์ง๋ง ๊ท์น์ ์ํด ์์ธ ๊ฒ์ด๊ณ , 2๋ ๋ง์ง๋ง - 1 ๋ฒ์งธ ๊ท์น์ ์ํด ์์ธ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๊ท์น์ ์์๋ฅผ ๋ค์ง์ด์ ์๊ฐํ๋ฉด ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๊ฐ ๋ณต์ก๋๋ฅผ ์ค์ด๊ธฐ ์ํด ๋ฑ์ ์ฌ์ฉํ๋ค.
๋ฑ์ ์์ชฝ ๋์์ ์ฝ์ ๊ณผ ์ญ์ ๊ฐ ๊ฐ๋ฅํ๊ณ , ๊ทธ ๋ ์๊ฐ ๋ณต์ก๋๊ฐ O(1)๋ก ๋งค์ฐ ๋นจ๋ผ ์ด๋ฌํ ๋ฌธ์ ์ ์ ๋ฆฌํ ๊ฒ ๊ฐ๋ค.
โ๏ธ์ฝ๋:
'''
https://www.acmicpc.net/problem/18115
๋ฌธ์ : ์นด๋ ๋๊ธฐ
๋์ด๋: ์ค๋ฒ3
'''
import sys
from collections import deque
# ์ด๋ฏธ ์์ฌ ์๋ ์ซ์ ์นด๋๋ค(1, 2, 3... ์์)์ ์ด๊ธฐ ์ํ๋ฅผ ์ญ์ถ์ ํด์ผ ํ๋ฏ๋ก,
# skill์ ์์๋ ๊ฑฐ๊พธ๋ก ์๊ฐํด์ผ ํจ!
# ์๋ฅผ ๋ค์ด, 1์ ๋งจ ๋ง์ง๋ง์ skill๋ก ์ธํด ์ ค ์์ ์์
N = int(sys.stdin.readline())
skill = list(map(int, sys.stdin.readline().split()))
skill.reverse()
dq = deque()
for i in range(N):
if skill[i] == 1:
dq.appendleft(i + 1)
elif skill[i] == 2:
dq.insert(1, i + 1)
elif skill[i] == 3:
dq.append(i + 1)
for i in dq:
print(i, end=" ")
๐๋งํฌ:
'๐งฉps > ๐ฅHard' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค 2503๋ฒ] ์ซ์ ์ผ๊ตฌ (1) | 2024.10.14 |
---|