[BOJ]๋ฐฑ์ค€#12904 Gold 5 A์™€B ๐Ÿ”ค (Python, ํŒŒ์ด์ฌ)

์ž„์ค€์„ฑยท2022๋…„ 5์›” 26์ผ
0

๋ฐฑ์ค€ Algorithm

๋ชฉ๋ก ๋ณด๊ธฐ
17/59
post-thumbnail

๋ฐฑ์ค€ 12904๋ฒˆ
https://www.acmicpc.net/problem/12904


๋ฌธ์ œ



ํ›„๊ธฐ

โฐ ํ’€์ด์‹œ๊ฐ„ 30๋ถ„ ++โฐ

์ตœ๊ทผ์— ๋ฌธ์ž์—ด ์ˆซ์ž๋ฅผ ๋‹ค๋ฅธ ๋ฌธ์ž์—ด ์ˆซ์ž๋กœ ๋ฐ”๊พธ๋Š” ๋ฌธ์ œ๋ฅผ ํ‘ผ ๊ฒฝํ—˜์ด ์žˆ์—ˆ๋‹ค.

๊ทธ ๋•Œ๋Š” 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๋ฌธ์„ ํƒˆ์ถœํ•˜๋ฉฐ ์ •๋‹ต์ด ์™„์„ฑ๋๋‹ค. 
profile
์•„๋ฌด๋ตํฌ ์žˆ์ด

0๊ฐœ์˜ ๋Œ“๊ธ€