카테고리 없음

자바 알고리즘 공부(2) 배열,해당 요소 인덱스값 구하기, 최대값 최소값 구하기

최종군 2024. 8. 25. 14:38

 

 

배열을 통해서 원하는 값 찾기 : 

Scanner sc = new Scanner(System.in);

    System.out.println("찾고자 하는 값 입력");
    int num = sc.nextInt();

    int[] a = new int[] {72,68,92,88,41,53,97,84,39};
    int pos = -1;


    for(int i = 0; i < a.length && pos == -1; i++){
        if (num == a[i]){
            pos = i;
        }
    }
    System.out.println(pos);
}

 

 

처음에 해당 문제를 보았을 때 

for문 조건식에서 && pos == -1 이라는 조건을 추가로 넣는 이유가 

이해가 가지 않았다 

 

그러다가 생각해보니 

문제 속에서 나온  배열 안에서는 

중복된 숫자가 없어서 

내가 문제를 인지를 못했지만 

 

다시금 생각을해보니 

&& pos == -1 라는 조건이 있다면 

배열 안에 정수형이 중복된 값이 있다면 

 

첫번쨰로 찾은 인덱스가 나오게 되고 

 

해당 조건식이 없다면 마지막으로 나오는 

중복된 값의 인덱스가 나오게 된다 

 

 

 

배열 안에 최대값과 최소값 구하기 : 

/* 최대값과 최소값 구하기 : */


    int[] a = new int[] {72,68,92,88,41,53,68,84,39};

    int max = 1;
    int min = 50;


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

        if (max < a[i]){
            max = a[i];
        }

        if (min > a[i]) {
            min = a[i];
        }
    }
    System.out.println("최대값 : " + max);
    System.out.println("최소값 : " + min);

}

 

 

최대값 : 92 

최소값 : 39 

출력하게 된다