def max(x, y): if x > y : return x else: return y
def max_array(array, len): if len == 1: return array[0] else: return max(array[len - 1], max_array(array, len - 1))
temp_array = [33, 44, 5, 66, 139, 90, 45, 23]
print (max_array(temp_array, len(temp_array))) |
max 함수는 단순히 두 개의 숫자를 받아서 더 큰 수를 반환해 준다.
max_array 함수는 max를 호출할 때 배열의 가장 마지막 수와 max_array에 배열 길이를 하나 줄여 재귀호출한 반환값을 비교해 더 큰 수를 반환한다.
배열의 길이가 감소하여 1개의 위치가 되면, 자신을 반환한다.
이런 식으로 최대값을 찾는다.
프로그램의 실행 결과는 139를 출력한다.
정보 감사합니다