[백준] 12904번 A와 B

거북이·2023년 2월 15일
0

백준[골드5]

목록 보기
16/82
post-thumbnail

💡문제접근

  • 문자열 S를 문자열 T로 변환할 수 있는지에 대한 문제였다. S → T로 변환하려면 많은 가지치기를 통해서 모든 경우를 일일이 확인해야한다. 그래서 반대로 생각해서 T → S로 변환하는 경우를 생각했다.
  • 문자열을 바꿀 때 두 가지 연산을 다음과 같이 바꿀 수 있다.
    ①. 문자열 맨 뒤의 문자가 A라면 A를 제거한다.
    ②. 문자열 맨 뒤의 문자가 B라면 B를 제거한 다음 문자열을 뒤집는다.

💡코드(메모리 : 31256KB, 시간 : 44ms)

import sys
input = sys.stdin.readline

S = list(input().strip())
T = list(input().strip())

while True:
    if len(T) == len(S):
        break
    t = -1
    if T[t] == "A":
        T.pop()
    elif T[t] == "B":
        T.pop()
        T = T[::-1]

S = ''.join(map(str, S))
T = ''.join(map(str, T))

if S == T:
    print(1)
else:
    print(0)

💡소요시간 : 3m

0개의 댓글