백준 12919번 : A와 B 2

2021. 10. 6. 01:45카테고리 없음

https://www.acmicpc.net/problem/12919

 

12919번: A와 B 2

수빈이는 A와 B로만 이루어진 영어 단어 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈

www.acmicpc.net

 

아이디어

S를 T로 고치려고 하지 말고, T를 S로 바꾸려고 하면 된다.

A로 끝나는 경우는 A를 뒤에서 삭제하고, B로 시작하는 경우는 뒤집고 B를 뒤에서 삭제하는 방식으로 재귀함수를 구현해서 진행한다.

 

import sys
input = sys.stdin.readline

S = input().rstrip()
T = input().rstrip()

def check(now):
    if now == S:
        return 1
    if len(now)<=len(S):
        return 0

    answer = 0
    if now[-1] == 'A':
        answer = check(now[:-1])
    
    if answer == 1:
        return 1

    if now[0] == 'B':
        temp = now[::-1]
        answer = check(temp[:-1])

    return answer

answer = check(T)
print(answer)