더북(TheBook)

◼︎ 4-2 재귀 호출을 이용한 최댓값 찾기

종료 조건: 자료 값이 한 개면(n = 1) 그 값이 최댓값

재귀 호출 조건: n개 자료 중 최댓값 → n-1개 자료 중 최댓값과 n-1번 위치 값 중 더 큰 값

 

 

◉ 예제 소스 e04-2-findmax.py

# 최댓값 구하기

# 입력: 숫자가 n개 들어 있는 리스트

# 출력: 숫자 n개 중 최댓값

 

def find_max(a, n):  # 리스트 a의 앞부분 n개 중 최댓값을 구하는 재귀 함수

    if n = = 1:

        return a[0]

    max_n_1 = find_max(a, n - 1) # n - 1개 중 최댓값을 구함

    if max_n_1 > a[n - 1]:       # n - 1개 중 최댓값과 n - 1번 위치 값을 비교

        return max_n_1

    else:

        return a[n - 1]

 

v = [17, 92, 18, 33, 58, 7, 33, 42]

print(find_max(v, len(v)))  # 함수에 리스트의 자료 개수를 인자로 추가하여 호출

 

◉ 실행 결과

92

 

 

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.