본문 바로가기
알고리즘

[JAVA] 최댓값 찾기 (순차탐색)

by PEKAH 2021. 12. 5.

크기가 N(>1) 인 배열 내에 있는 숫자들 중 최댓값을 찾는 문제

 

1. 배열의 첫 번째 요소를 최댓값으로 정한다
2. 배열의 다음 요소와 최댓값을 비교한다. 만약 다음 요소가 최댓값보다 크다면 최댓값을 그 요소로 바꾼다
3. 배열 내에 비교할 요소가 남아 있으면 2단계로 가고 아니면 종료한다.

 

시간복잡도 O(N)

 

알고리즘

FindMaximum(A[0 .. N-1]) 

max = A[0] 

for (i = 1; i < N; i++) 
    if (A[i] > max) max = A[i] 
    
return max

 

JAVA

public class FindMaximum { 
    public static void main(String[] args) { 
        int[] intArray = {72, 60, 83, 47, 89, 95}; 
        int maximum; 
        
        maximum = findMaximum(intArray); 
        
        System.out.println("최댓값 = " + maximum); 
    } 
    
    public static int findMaximum(int[] A) { 
        int i, max; 
        
        max = A[0]; 
        
        for (i = 1; i < A.length; i++) { 
            if (A[i] > max) max = A[i]; 
        } 
        
        return max; 
    } 
}



'알고리즘' 카테고리의 다른 글

[JAVA] 삽입 정렬(Insertion Sort)  (0) 2021.12.07
[JAVA] 선택 정렬(Selection Sort)  (0) 2021.12.06
[JAVA] 이진 탐색 (Binary Search)  (0) 2021.12.06
[JAVA] 자연수 n의 계승(factorial) 계산  (4) 2021.12.06
[JAVA] 누계 계산  (0) 2021.12.05

댓글