[BOJ] Q12904 A와 B

Question

Language: Python

Difficulty: Gold 5

A와B_2와 비슷한 유형의 문제이지만, 해당 문제의 경우 연산을 통해 문자가 뒤에 추가되는 방식이기 때문에 조금 더 간단하게 풀이하는 것이 가능하다.

연산 알고리즘

#문자열 맨 뒤의 값이 B인 경우 맨마지막 문자를 제외하고 뒤집는다.
if end[-1]=="B":
    end=end[::-2]
#문자열 맨 뒤의 값이 A인 경우 맨 마지막 문자를 제외한다.
elif end[-1]=="A":
    end=end[:-1]

Solution

def solution():
    global end
    while len(end)!=len(start):
        if end[-1]=="B":
            end.pop()
            end=end[::-1]
        elif end[-1]=="A":
            end.pop()
    
    return end==start

if __name__ == "__main__":
    start=list(input().strip())
    end=list(input().strip())

    print(1 if solution() else 0)

댓글남기기