티스토리 뷰

반응형

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

 

12904번: A와 B

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

www.acmicpc.net

 


⊙ 문제

⊙ 입력

⊙ 출력

⊙ 예제 입출력

⊙ 알고리즘 분류

  • 구현
  • 문자열
  • 그리디 알고리즘

 


 

⊙ 문제 접근 과정

 

같다는 여부를 boolean을 사용해 판별해줬다.

 

문제를 보자마자 1로 만들기 문제가 생각났다

 

해당 문제를 보고 나는 S를 T로 만드는 방식이 아닌 T를 S로 만들어야 한다고 직감적으로 생각했다.

 

그리고 거꾸로 추적하여 T를 S로 만들어주는 코드를 만들었다.

 

while문을 사용하여 길이가 S보다 작기 전까지 계속 반복하고 같은 값이 된다면 flag on

 


 

⊙ 문제 풀이

 

S = input()
T = input()

flag = False

while len(S) <= len(T):
    if S != T:
        # 뒤에 A 삭제
        if T[-1] == 'A':
            T = T[:-1]
        # B 삭제 후 뒤집기
        else:
            T = T[:-1]
            T = T[::-1]
    else:
        flag = True
        break

if flag:
    print(1)
else:
    print(0)

 


⊙ 결과

 


⊙ 마무리

 

 

NONE

 

 

좋아요는 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함