[백준] 12919 - A와 B 2 / Python / 골드 5

KimYoungWoong·2023년 2월 5일
0

BOJ

목록 보기
31/31
post-thumbnail

🚩문제 주소


📄풀이

완전탐색

  • 문자열의 길이가 1이 넘고, 문자열의 끝자리가 A라면 A를 제거하고 재귀한 것이 True라면 return True
  • 문자열의 길이가 1이 넘고, 문자열의 첫자리가 B라면 B를 제거하고 뒤집은 다음 재귀한 것이 True라면 return True
  • T와 S가 같아졌다면 return True

조건에 만족하지 않게 된다면 return False

재귀한 결과가 True라면 1을 출력하고 False라면 0을 출력합니다.



👨‍💻코드

def dfs(T):
  if T==S:
    return True 
  if len(T) > 1 and T[-1]=='A' and dfs(T[:-1]):
    return True
  if len(T) > 1 and T[0]=='B' and dfs(T[1:][::-1]):
    return True
  
  return False

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

profile
블로그 이전했습니다!! https://highero.tistory.com

0개의 댓글