IT/알고리즘

[백준 Python] 12919번 A와 B 2

와잉 2025. 2. 6. 17:15

백준 파이썬 12919번 A와 B 2

Gold 5

 

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

import sys
input = sys.stdin.readline
from collections import deque
s = input().rstrip()
t = input().rstrip()
q = deque()
q.append(s)
while q:
    x = q.popleft()
    if (x not in t) and (x[::-1] not in t):
        continue
    if x == t:
        print(1)
        exit()
    q.append(x+"A")
    q.append("B"+x[::-1])
print(0)

간단하게 문자열을 붙여서 풀 수 있는 문제

우선 초기 문자열 S를 q에 넣어준 뒤 기존 상태 혹은 뒤집은 상태가 T의 일부분과 일치하지 않는 경우 continue를 해준다.

그리고 일부가 일치하는 경우 두 가지 연산 1) 문자열 뒤에 A를 추가한다 2) 문자열 뒤에 B를 추가한 뒤 문자열을 뒤집는다를 한 문자열을 q에 넣어준다. 

반응형

'IT > 알고리즘' 카테고리의 다른 글

[백준 Python] 14728번 벼락치기  (0) 2025.02.11
[백준 Python] 19942번 다이어트  (2) 2025.02.06
[백준 Python] 2573번 빙산  (0) 2025.01.25
[백준 Python] 13565번 침투  (0) 2025.01.23
[백준 Python] 2644번 촌수계산  (0) 2025.01.21