전공/백준
12904
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]를 해주면 된다
참고 사이트
-