yha97 2022. 11. 16. 12:06

날짜 : 2022. 11. 16

사용 언어 : python

 

문제

 

 

코드

import sys
# 문자열 뒤에 A를 추가
# 문자열을 뒤집고 뒤에 B를 추가
# B -> BA -> ABB -> ABBA

s = str(sys.stdin.readline().rstrip())
t = str(sys.stdin.readline().rstrip())

while len(s) < len(t):
    #print(t)
    if t[-1] == "A": t = t[:-1] # 마지막 글자 삭제
    else:
        t = t[:-1] # 마지막 글자 삭제
        t = t[::-1]
#print(s, t)

if s == t: print(1)
else:
    print(0)

 

 

풀이

- s에서 t로 만들어가면서 문자를 추가하기보다는 하나씩 제거한 후에 문자열이 같아졌을 때 비교하여 아웃풋을 출력하는 방식으로 문제를 풀어나갔다.

- 끝자리가 A인 경우에는 단순히 마지막 글자를 삭제하면 끝

- 반대로 B인 경우에는 삭제한 후에 문자열을 뒤집어 주면 된다.

- 이를 반복한 이후에 반복문 탈출 후 문자열을 비교하여 같다면 1을, 다르다면 0을 출력하면 된다.

 

 

알게된 점

- 문자열 뒤집기 -> 문자열 t를 뒤집는 방법은 간단하게 t = t[::-1]를 해주면 된다

 

 

참고 사이트