본문 바로가기

알고리즘/python

[python/파이썬] 백준 25501 재귀의 귀재

반응형

[문제 출처]

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

 

25501번: 재귀의 귀재

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

www.acmicpc.net

 

[문제 풀이]

 

주어진 함수들을 python 코드로 작성하고,

recursion 함수 내에는 global variable인 cnt를 선언하여 recursion함수를 호출할 때마다 1씩 증가시켜 주었다.

하지만 가장 처음에 recursion이 호출되었을 때는 카운팅 되지 않기에 for문에서 cnt값을 1로 초기화해주었다.

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

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

T = int(input())
result = []

for i in range(T):
    cnt = 1
    s = input()
    a = isPalindrome(s)
    b = cnt
    result.append([a,b])


for el in result:
    print(*el)
반응형