코딩테스트

[Python] 백준 12904번 - A와 B

2023. 6. 13. 13:15

문제: https://www.acmicpc.net/problem/12904

 

12904번: A와 B

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

www.acmicpc.net

 

처음에는 백트래킹을 사용해서 S를 T로 만드는 모든 경우를 다 찾아보려고 했었다.

그런데 시간제한에 걸려서.. 다른사람들이 푼 방식을 참고했다.

 

S를 T로 만들어주는 대신, T가 S가 되는지만 확인해주면 되는 간단한 문제였다!

문제 조건이 S의 마지막에 매번 A나 B를 추가해주기 때문에, T의 가장 마지막 문자만 떼어주며 S가 나올 수 있는지 확인하면 된다.

 

코드는 다음과 같다.

s = input()
t = input()

while len(t) >= len(s):
    if len(t) == len(s):
        if t == s:
            print(1)
        else:
            print(0)
    
    if t[-1] == 'A':
        t = t[:len(t)-1]
    elif t[-1] == 'B':
        t = t[:len(t)-1]
        t = t[::-1]