# 내용
재귀함수를 이용하여 회문검사, 파이썬 스트링 다루기 공부
파이썬에서는 재귀는 1000번까지만 호출 가능함
재귀 함수의 잦은 사용을 막기 위해 동적 계획법(Dynamic Programming)을 이용 할 수 있음.
동적 계획법은 앞서 사용했던 것들을 이용하여 그다음 문제를 풀때 사용하는 것.
# 코드
import random
def sum_list(data):
sum = 0
for i in data:
sum += i
return sum
def reculsive_sum(data):
if len(data) == 1:
return data[0]
return data[0] + reculsive_sum(data[1:])
# 회문 검사
def palindrome(str):
for index in range( len(str) // 2 ):
if (str[index] != str[-(index+1)]):
return False
return True
# 재귀 회문 검사
def reculsive_palindrome(str):
if len(str) <= 1:
return True
else:
if(str[0] == str[-1]):
return reculsive_palindrome(str[1:-1])
else:
return False
if __name__ == '__main__':
str = "level123"
print(palindrome(str))
print(reculsive_palindrome(str))
'•알고리즘(Algorithm ) > 스터디' 카테고리의 다른 글
[알고리즘] 이진탐색 파이썬 및 시간복잡도 (0) | 2022.07.26 |
---|---|
[알고리즘] 병합정렬(merge-sort) 파이썬 (0) | 2022.07.24 |
[알고리즘] 선택 정렬 파이썬 (0) | 2022.07.22 |
[알고리즘] 삽입정렬 파이썬 (0) | 2022.07.22 |
[알고리즘] 버블정렬 파이썬 (0) | 2022.07.22 |