๋ฌธ์
https://www.acmicpc.net/problem/5430
๋ด ๋ฌธ์ ํ์ด
import sys
t = int(sys.stdin.readline().strip())
for _ in range(t):
p = sys.stdin.readline().strip()
n = int(sys.stdin.readline().strip())
x = sys.stdin.readline().strip()
lst = list(x[1:len(x)-1].split(","))
rev = False
front = 0
back = 0
error = False
for i in p:
if i == "R":
if rev:
rev = False
else:
rev = True
else:
if rev:
back += 1
else:
front += 1
if front + back > n:
error = True
if error:
break
if error:
print("error")
else:
if rev:
print("[" + ",".join(lst[::-1][back:(n-front)]) + "]")
else:
print("[" + ",".join(lst[front:(n-back)]) + "]")
๐ ๋ฌธ์์ด ๋ฌธ์
R์ด๋ D ๋ช ๋ น์ ์ง์ง๋ก ํ๋์ฉ ์ฐ์ฐํ ๊ฒฝ์ฐ ์๊ฐ์ด ๋๋ฌด ์ค๋๊ฑธ๋ฆด ๊ฒ์ด๋ฏ๋ก
R์ ์ ๋ฌด๋ก ํ์ฌ ๋ฌธ์์ด์ด ๋ค์งํ์๋์ง ์๋์ง๋ฅผ ํ๋จํ๊ณ , (rev ๋ณ์)
D ๋ช ๋ น์ด ์์ ์ ์์์ ์ญ์ ํ ๊ฒ์ธ์ง ๋ค์์ ์ญ์ ํ ๊ฒ์ธ์ง ์ฒดํฌํด์ฃผ์๋ค. (front, back ๋ณ์)
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์, ์์์ ๋ช ๊ฐ, ๋ค์์ ๋ช ๊ฐ์ ๋ฌธ์๋ฅผ ์ญ์ ํ ๊ฒ์ธ์ง,
๋ฌธ์์ด์ ๋ค์ง์ด์ ์ถ๋ ฅํด์ผ ํ ๊ฒ์ธ์ง๋ฅผ ๋ชจ๋ ๋ฐ์ํ์ฌ์ ๊ฒฐ๊ณผ๋ก ์ถ๋ ฅํด์ฃผ์๋ค.
๐ก ํผ๋๋ฐฑ
๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ ๋, ์ง์ง ๋ฆฌ์คํธ๋ฅผ ๊ทธ๋๋ก ์ถ๋ ฅํ๋ ๊ฒ์ด์๋๋ผ
"[", "]", "," ๋ฌธ์๋ฅผ ์ด์ฉํ์ฌ ๋ฆฌ์คํธ ๋ชจ์์ผ๋ก ์ถ๋ ฅํด์ผ ํ๋ค๋ ์ ๋ง ์ฃผ์ํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
'4๏ธโฃ Python > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python Algorithm] LCS BOJ #9251 (0) | 2022.05.26 |
---|---|
[Python Algorithm] ๋์ 1 BOJ #2293 (0) | 2022.05.26 |
[Python Algorithm] ์ ํ๋ฒํธ ๋ชฉ๋ก BOJ #5052 (0) | 2022.05.24 |
[Python Algorithm] ๊ณตํต ๋ถ๋ถ ๋ฌธ์์ด BOJ #5582 (0) | 2022.05.24 |
[Python Algorithm] N๊ณผ M (4) BOJ #15652 (0) | 2022.02.15 |
๋๊ธ