수업자료
실습 : 문자열을 역순으로 반환하는 재귀함수
^..^v
2024. 7. 27. 04:20
728x90
반응형
문자열을 역순으로 반환하는 재귀함수
매개 변수로 전달 받은 문자열을 역순으로 만들어 반환하는 함수를 재귀함수로 구현해 보겠습니다.
def reverse_string(s):
if len(s) == 0:
return s
else:
return s[-1] + reverse_string(s[:-1])
org = "Hello Python!!!"
rvs = reverse_string(org)
print(org) # Hello Python!!!
print(rvs) # !!!nohtyP olleH
reverse_string이라는 함수를 정의합니다. 이 함수는 문자열 s를 입력으로 받으며, 기본 사례와 재귀 사례를 구현합니다.
기본 사례(base case)
문자열 s의 길이가 0일 경우, 즉 빈 문자열인 경우에는 그대로 빈 문자열을 반환합니다. 이 부분은 재귀 호출의 종료 조건으로 작동합니다.
if len(s) == 0:
return s
재귀 사례(recursive case)
그렇지 않은 경우, 문자열 s의 마지막 문자 s[-1]를 추출하고, 나머지 문자열 s[:-1]에 대해 reverse_string 함수를 다시 호출합니다. 마지막 문자를 맨 앞에 붙이는 과정을 반복하여 문자열을 뒤집습니다.
return s[-1] + reverse_string(s[:-1])
728x90
반응형