๋ฐฑ์ค 12904๋ฒ
https://www.acmicpc.net/problem/12904
๋ฌธ์
ํ๊ธฐ
์ต๊ทผ์ ๋ฌธ์์ด ์ซ์๋ฅผ ๋ค๋ฅธ ๋ฌธ์์ด ์ซ์๋ก ๋ฐ๊พธ๋ ๋ฌธ์ ๋ฅผ ํผ ๊ฒฝํ์ด ์์๋ค.
๊ทธ ๋๋ A๋ผ๋ ์ซ์๋ฅผ B๋ก ๋ง๋ค ๋, A๋ฅผ B๋ก ๋ง๋๋ ค๊ณ ์ด์ฌํ ๊ณ ๋ฏผํ์๋ค.
ํ์ง๋ง Bottom-Up ๋ฐฉ์์ด ์๋ Top-Down ํ์์ด ํจ์ฌ ๊ฐ๋จํ๊ฒ ์์ฉํ๋ ๋ฌธ์ ๋ผ๋ ๊ฒ์
์ง๋ ๋ฒ ๋ฌธ์ ์์ ๊นจ๋ฌ์๊ณ , ์ด ๋ฌธ์ ๋ฅผ ๋ณด์๋ง์ ๊ฐ์ ์ ํ์ด๋ผ๋ ์๊ฐ์ด ๋ค์๋ค.
์๋์ ์ฝ๋์ ๋์ ์๋ฏ์ด, ์ฐ์ T๋ฅผ S๋ก ๋ง๋๋ ๊ณผ์ ์ ๋ฏธ๋ฆฌ ํ๋ฒ ์์ฑํด๋ณด๊ณ , ์ด๋ฅผ ๋ฐ๋๋ก
ํ๋ ํ์๊ฐ ๊ฐ๋ฅํ์ง์ ๋ํด ์ฝ๋๋ก ๊ตฌํํ๊ณ While๋ฌธ์ ๋๋ ธ๋ค.
์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ ์ญ์ ๋ง์ด ํ๋ฉด์ ์ข์ ๋ฐฉํฅ์ฑ์ ์๊ณ ์์ผ๋ฉด ํ์คํ ํธํด์ง๋ ๋๋์ด ๋ ๋ค.
๋์ ํ์ด
import sys
input = sys.stdin.readline
#๋ค์ A๋ฅผ ์ถ๊ฐ
#๋ค์ง๊ณ ๋ค์ B๋ฅผ ์ถ๊ฐ
S= input().strip()
T= input().strip()
#B -> ABBA BA -> ABB -> ABBA
while T!=S: #T๊ฐ S๊ฐ ๋๊ธฐ ์ ๊น์ง ๋ฐ๋ณตํ๋ค.
answer= T
if len(T)==1: #๊ธธ์ด๊ฐ 1์ด ๋๋๋ฐ ๋ค๋ฅด๋ฉด, ๋์ด์ ๋ฐ๋ณตํ ์ด์ ๊ฐ ์์ด ๋ถ๊ฐ๋ฅํ๋ค.
if T!=S:
print(0)
exit()
if T[-1] == "A": #๋งจ๋ค๊ฐ A๋ฉด
T= T[:-1] #A๋ฅผ ์ง์ด๋ค. (์ฒซ ๋ฒ์งธ ์ฐ์ฐ์ ๊ฑฐ๊พธ๋ก ์คํํ๊ฒ )
elif T[-1] =="B": # ๋งจ๋ค๊ฐ B๋ฉด
T= T[::-1] # ๋ค์ง์๋ค์
T= T[1:] # ๋งจ์์ B๋ฅผ ์ง์ด๋ค. ( ๋ ๋ฒ์งธ ์ฐ์ฐ์ ๊ฑฐ๊พธ๋ก ์คํํ๊ฒ )
if answer== T: #๋ง์ฝ ์ฒซ๋ฒ์งธ ์ฐ์ฐ, ๋๋ฒ์งธ ์ฐ์ฐ ๋๋ค ์คํ ๋ถ๊ฐ๋ฅํ๋ฉด
print(0)
exit()
print(1) # while๋ฌธ์ ํ์ถํ๋ฉฐ ์ ๋ต์ด ์์ฑ๋๋ค.