본문 바로가기

TIL/이전 풀이

BOJ_12904: A와 B

문제 링크

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

 

12904번: A와 B

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

www.acmicpc.net

핵심

  • 문제의 핵심은 역순으로 시작하는 것이다.
    • 정순으로 bfs를 이용하여 진행할 경우 시간 초과가 발생한다.
    • 이 경우 케이스가 두 가지밖에 없기에 역순으로 T에서 시작하여서 S가 나오면 답이었다.

code

start_word = input()
end_word = input()

is_answer = 0
def make_word(word):
    global start_word, is_answer
    if len(word) == len(start_word):
        if word == start_word:
            is_answer =1
        return
    else:
        if word.endswith("A"):
            make_word(word[:-1])
        else:
            make_word(word[:-1][::-1])

make_word(end_word)
print(is_answer)
  • endswith 함수를 처음 배웠다
    • string.endswith(value, start, end)
    • value : 찾고자 하는 값, `start` : 시작지점, `end`: 종료지점
    • end가 없을 시, 문자열의 맨 마지막을 value와 비교한다.

 

'TIL > 이전 풀이' 카테고리의 다른 글

[python] Leetcode 34. Find First and Last Position of Element in Sorted Array  (0) 2022.12.13
[python] Leetcode 15. 3Sum  (1) 2022.12.13
boj_2839_설탕 배달  (0) 2022.10.24
boj_1009_분산처리  (0) 2022.10.05
boj_2512_예산  (1) 2022.09.28