본문 바로가기
Algorithm/문제풀이

배열에서 최솟값 찾기

by mean. 2023. 8. 7.
728x90
반응형
n = [13,6,9,8,12]  

def min(array, com):  
    # array의 비교할 것이 남아있지 않다면,  
    if not array:  
        # com을 넘기면서 프로그램을 종료한다.  
        return com                        
    # 배열의 첫번째를 now로 선언.  
    now = array[0]                        
    # now가 com보다 작다면,  
    if now < com:                         
        # 배열의 첫번째수가 비교하는 수보다 작으면, now를 com로 대체한다.  
        return min(array[1:], now)        
    # now가 com보다 작지 않다면,  
    else:                                 
        # 배열의 첫번째가 비교하는 수보다 작지 않다면, com을 유지한다.  
        return min(array[1:], com)        

print(min(n, n[0]))  

해당 함수의 시간복잡도는 배열의 길이의 비례만큼 실행되기 때문에 시간복잡도는 $O(n)$이다.

728x90
반응형

'Algorithm > 문제풀이' 카테고리의 다른 글

Pancake Sorting  (0) 2024.03.30
배열의 원소의 총합 계산하기  (0) 2024.03.30