๋ฐ์ํ
๐ค๋ฌธ์ ํด๊ฒฐ
-
S2 | ์๋ฃ๊ตฌ์กฐ, ๋ฐํฌ, ๊ตฌํ
๋ฆฌ๋ฒ์ค์ ์ ๊ฑฐ ๋๊ฐ์ง ์ค๋๊ฐ ์๋ค.
๋ฆฌ๋ฒ์ค๋ฅผ ํ๊ฒ ๋๋ฉด O(N)์ ์๊ฐ๋ณต์ก๋ ๋ฐ์
๊ทธ๋ฌ๋ฏ๋ก ๋ฆฌ๋ฒ์ค๋ฅผ ํ์ง๋ง๊ณ ์ด๊ฒ ๋ค์งํ ์ํฉ์ธ์ง ์๋์ง๋ง ๊ตฌ๋ถํด์ค๋ค.
๊ทธ ํ ๊ทธ๋๋ก์ด๋ฉด ๋งจ ์์ ์ซ์๋ฅผ ์ ๊ฑฐํ๊ณ
๋ค์งํ ์ํฉ์ด๋ฉด ๋งจ ๋ค์ ์ซ์๋ฅผ ์ ๊ฑฐํ๋ค.
๐ป์์ค ์ฝ๋
from collections import deque
for tc in range(int(input())):
# RR์ด๋ฉด ์๋์ํ์ด๋ฏ๋ก ์ ๊ฑฐํด์ค
order = input().replace('RR', '')
n = int(input())
number = input()[1:-1]
if number:
number = deque(list(map(int, number.split(','))))
# R์ ๋ค์ง์ง ๋ง๊ณ
my_reverse = False
for o in order:
if o == 'R':
my_reverse = not my_reverse
elif o == 'D':
if number:
if my_reverse:
number.pop()
else:
number.popleft()
else:
print('error')
break
else:
number = list(number)
if my_reverse:
number = number[::-1]
print(f'[{",".join(list(map(str, number)))}]')
๐๋ฌธ์ ํ์ธ
์ถ์ฒ: BACKJOON ONLINE JUDGE
๋งํฌ: https://www.acmicpc.net/problem/5430
๋ฐ์ํ
'Algorithm Problem > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[python] ํ๋ก๊ทธ๋๋จธ์ค - ์ฟผ๋์์ถ ํ ๊ฐ์ ์ธ๊ธฐ (์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง ์์ฆ1) (4) | 2020.10.24 |
---|---|
[python] ํ๋ก๊ทธ๋๋จธ์ค - 3์ง๋ฒ ๋ค์ง๊ธฐ (์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง ์์ฆ1) (2) | 2020.10.22 |
[python] ๋ฐฑ์ค - 2004. ์กฐํฉ 0์ ๊ฐ์ (1) | 2020.10.17 |
[python] ๋ฐฑ์ค - 2110. ๊ณต์ ๊ธฐ ์ค์น (4) | 2020.10.16 |
[python] ๋ฐฑ์ค - 1735. ๋ถ์ ํฉ (0) | 2020.10.15 |