백준 알고리즘

백준 25501 파이썬

KokoaJelly 2023. 2. 2. 16:57

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

 

25501번: 재귀의 귀재

각 테스트케이스마다, isPalindrome 함수의 반환값과 recursion 함수의 호출 횟수를 한 줄에 공백으로 구분하여 출력한다.

www.acmicpc.net

 

def recursion(s, l, r):
    global count
    count += 1
    if l >= r : return 1
    elif s[l] != s[r] : return 0
    else: 
        return recursion(s, l + 1, r - 1)

def isPalindrome(s):
    return recursion(s, 0, len(s) - 1)

input_data = int(input())
for _ in range(input_data):
    count = 0
    print(isPalindrome(input()), count)

여기서 중요한 점은 global을 해야한다는 것이다. 

지역 변수를 전역 변수로 만들어주기 위해 global을 해놓고, 코드를 작성하면 된다.

그렇게 어려운 문제는 아니다.