어제 오늘 내일

[Java] 배열 원소 중 최대값의 인덱스, 최소값의 인덱스 구하기 본문

IT/Java

[Java] 배열 원소 중 최대값의 인덱스, 최소값의 인덱스 구하기

hi.anna 2021. 4. 17. 10:58

 

지난번에는 배열의 여러 원소들 중

최대값과 최소값을 구하는 방법을 알아보았습니다.

[Java] 배열 원소 중 최대값, 최소값 구하기

 

이번에는 최대값과 최소값을 가지는 배열의 인덱스(index) 값을 구하는 방법을 알아보도록 하겠습니다.

 

 

최대값 / 최대값 인덱스 구하기

 코드 

public class Max {
    public static void main(String[] args) {
        int[] arr = { 3, 2, 1, 5, 4 };

        // 최대값, 최대값의 인덱스 초기값 세팅
        int max = arr[0];
        int maxIndex = 0;

        // 최대값, 최대값의 인덱스 구하기
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
                maxIndex = i;
            }
        }

        // 최대값, 최대값 인덱스 출력
        System.out.println("최대값은 " + max);
        System.out.println("최대값 인덱스는 " + maxIndex);
    }
}

 결과 

최대값은 5
최대값 인덱스는 3

 

배열의 최대값을 구하는 로직을 거의 그대로 활용하고,

일부 코드를 추가하거나 수정하였습니다.

 

int maxIndex = 0;

최대값을 가지는 배열의 index를 구하기 위해

maxIndex라는 변수를 추가로 정의하였습니다.

이 변수는 최대값의 index를 나타냅니다.

max의 초기값이 배열의 1번째값(index는 0)이므로,

maxIndex의 초기값을 0으로 지정하였습니다.

 

for(int i = 0; i < arr.length; i++)  { ... }

for문을 돌면서 배열의 원소와 max값을 비교하고,

배열의 원소가 저장된 max값보다 크면

해당 값을 max값으로 저장하고,

해당 index도 maxIndex에 저장하였습니다.

 

 

최소값 / 최소값 인덱스 구하기

 코드 

public class Min {
    public static void main(String[] args) {
        int[] arr = { 3, 2, 1, 5, 4 };

        // 최소값, 최소값의 인덱스 초기값 세팅
        int min = arr[0];
        int minIndex = 0;

        // 최소값, 최소값의 인덱스 구하기
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] < min) {
                min = arr[i];
                minIndex = i;
            }
        }

        // 최소값, 최소값 인덱스 출력
        System.out.println("최소값은 " + min);
        System.out.println("최소값 인덱스는 " + minIndex);
    }
}

 결과 

최소값은 1
최소값 인덱스는 2

 

배열의 최소값과 최소값 인덱스를 구하는 방법은

최대값을 구하는 방법과 마찬가지로,

초기 최소값(min)을 배열의 첫번째 값으로 지정하고,

초기 최소값 인덱스(minIndex)를 0으로 지정합니다.

그리고, 배열의 모든 값과 min 값을 비교하여

배열의 원소가 min 값보다 작으면

해당 값을 min 변수에 저장하고,

minIndex 변수에는 해당 값을 가지는 배열의 index를 저장합니다.

 


 

배열의 최대값/최소값과 최대값의 index, 최소값의 index를 구하는 방법을 알아보았습니다.

 

 

 

반응형
Comments