[ BOJ / Python ] 12904번 A와 B

3377 단어 bojpythongreedyboj

처음에는 만들 수 있는 문자열과 만들 수 없는 문자열을 분류하여 규칙을 찾아보려고 하였다. 그러나 가짓수가 너무 많았고 특별한 규칙을 찾기도 힘들었다. 그러던 도중 반대로 구해보는 방법을 생각해보았고 반대로 문자열의 문자를 하나씩 지우는 연산을 통해 문제를 해결하였다.

  • 문자열 s를 입력받는다.
  • 문자열 t를 입력받는다.
  • 출력값을 저장할 변수 answer를 1로 정의한다.
  • t의 길이가 s의 길이보다 길 동안 반복되는 while문을 돌린다.
    -> 만약 t의 마지막 문자가 A일 경우에는 t를 t[:-1], 즉 마지막 문자 A를 제거한 t로 저장한다.
    -> 만약 t의 마지막 문자가 B일 경우에는 t를 t[:-1]로 저장한 뒤에 t를 t[::-1], 즉 뒤집은 t로 저장한다.
  • 만약 t가 s와 다르다면 answer를 0으로 갱신한다.
  • answer를 출력한다.

Code

s=str(input())
t=str(input())
answer=1
while len(t)>len(s):
    if t[-1]=='A':
        t=t[:-1]
    else:
        t=t[:-1]
        t=t[::-1]
if t!=s:
    answer=0
print(answer)

좋은 웹페이지 즐겨찾기