반응형
문제
https://www.acmicpc.net/problem/25501
코드
import sys
input = sys.stdin.readline
def recursion(s, l, r):
global cnt
cnt += 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)
t = int(input())
for _ in range(t):
cnt = 0
s = input().rstrip()
print(isPalindrome(s), cnt)
설명
다른 부분의 경우 크게 문제가 없었는데,
함수의 호출 횟수를 출력하기 위해 cnt를 사용했던 부분에 있어서 애를 좀 먹었다.
그래서 찾아본 결과 함수 안에서의 지역변수를 전역변수로 사용하는 방법이 global을 이용하는 것이었다.
'global cnt' 부분을 통해서 함수의 호출 횟수를 카운트할 수 있었다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 2231: 분해합 (0) | 2023.01.18 |
---|---|
[파이썬, Python] 백준 2798: 블랙잭 (0) | 2023.01.17 |
[파이썬, Python] 백준 10870: 피보나치 수 5 (0) | 2023.01.13 |
[파이썬, Python] 백준 10872: 팩토리얼 (0) | 2023.01.12 |
[파이썬, Python] 백준 18870: 좌표 압축 (0) | 2023.01.11 |