본문 바로가기
문제 풀이/백준(BOJ)

[Python] 백준 12904번 : A와 B

by 희조당 2022. 8. 26.
728x90

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

 

12904번: A와 B

수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수

www.acmicpc.net


💡 문제 풀이

그리디..? 알고리즘 문제이다.

 

두 가지 연산만 할 수 있다.

  1. 끝에 A 붙이기
  2. 뒤집고 B 붙이기

따라서 마지막에 어떤 값이 오는지만 확인해서 문자열의 길이가 같을 때까지 역순으로 따져주면 된다.

즉, 끝에 A가 온다면 A를 빼주고 B가 온다면 B를 빼주고 뒤집으면 된다.

✔️ 느낀 점

그리디 알고리즘..? 문제 항목에서 찾았는데 그냥 문자열에 대한 이해를 물어보는 것 같다.

💻 코드

import sys
input = sys.stdin.readline

S = input().strip()
T = input().strip()

while len(S) != len(T):
    if T[-1] == 'A': T = T[0:len(T)-1]
    else: T = T[0:len(T)-1][::-1]
    
print(1 if S==T else 0)

댓글