Algorithm Problem/Python
[python] ๋ฐฑ์ค - 5430. AC
deo2kim
2020. 10. 18. 08:47
๋ฐ์ํ
๐ค๋ฌธ์ ํด๊ฒฐ
-
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
5430๋ฒ: AC
๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ํด์, ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์ ์ ๋ฐฐ์ด์ ํจ์๋ฅผ ์ํํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. ๋ง์ฝ, ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ์๋ error๋ฅผ ์ถ๋ ฅํ๋ค.
www.acmicpc.net
๋ฐ์ํ