문제출처: https://www.acmicpc.net/problem/18115
1. 문제 접근 방식
먼저 입력값을 reverse한다. 그리고 덱을 순환하면서 1이면 결과덱의 앞에 삽입하고 2면 결과덱의 두번째에 삽입하고 3이면 결과덱의 마지막에 삽입하는 것을 반복한다.
2. 내가 푼 코드
import sys
from collections import deque
case = int(sys.stdin.readline())
queue = deque(map(int,sys.stdin.readline().split()))
queue.reverse()
index = 1
result = deque()
for i in queue:
if i == 1:
result.appendleft(index)
elif i == 2:
temp = result.popleft()
result.appendleft(index)
result.appendleft(temp)
else:
result.append(index)
index+=1
print(*result)
3. 결과 및 느낀점
처음엔 풀기 막막했는데 기술을 reverse해서 풀자는 생각 후에 풀 수 있었다.
'[Boj문제풀이]' 카테고리의 다른 글
[Boj/백준] 1927 11279 11286 Python (0) | 2021.09.13 |
---|---|
[Boj/백준] 5464 Python (0) | 2021.09.11 |
[Boj/백준] 13417 Python (0) | 2021.09.08 |
[Boj/백준] 15828 Python (0) | 2021.09.07 |
[Boj/백준] 10845 Python (0) | 2021.09.06 |