본문 바로가기
수업자료

실습 : 문자열을 역순으로 반환하는 재귀함수

by ^..^v 2024. 7. 27.
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
반응형

댓글