반응형
오늘은 자바 배열에서 최대값, 최소값 을 구하는 알고리즘에 대해서 알아보도록 하겠습니다.
먼저 순서대로 하나하나 살펴보도록 하겠습니다.
1. 배열선언
int [] arr = { 4, 6, 32, 98, 1};
2. 최대값을 담을 변수(max) 선언하고 배열의 인덱스 0 값 참조하기.
int max = arr[0];
3. for문 if문 활용해 최대값 찾기.
배열의 맨 처음부터 끝까지 앞뒤 인덱스를 비교하면서 큰값을 최대값으로 넣어주는 방식입니다.
for ( int i = 1; i < arr.length; i++) {
if (arr[i]>max) {
max = arr[i];
}
}
4. 최대값 출력하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
package test;
public class Max {
public static void main(String[] args) {
int [] arr = { 4, 6, 32, 98, 1}; // 배열 선언
// 최대값을 담을 변수를 선언,
//배열의 인덱스 0값 참조하기위해 arr[0]이라고 넣어준다.
int max = arr[0];
// for문 if문 활용해 최댓값 찾기
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
System.out.println("최대값은 : " + max);
} } |
cs |
< 최대값 디버깅표 >
최소값은 배열과 변수를 선언하고 배열의 인덱스 0값을 참조하는건 동일하지만,
if (arr[i] < min) 더 작은 값을 최소값 변수에 넣어주면 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
package test;
public class Min {
public static void main(String[] args) {
int [] arr = { 4, 6, 32, 98, 1}; // 배열 선언
int Min = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] < Min) {
Min = arr[i];
}
}
System.out.println("최소값은 : " + Min);
}
}
|
cs |
< 최소값 디버깅표 >
만약 최대값의 위치(인덱스)를 알고싶다면?
최대값을 가지는 배열의 인덱스를 구하기 위해서는
인덱스 값을 나타낼 maxindex라는 변수를 추가로 선언해야 합니다.
max의 초기값이 배열의 1번째값(index는 0) 이므로,
maxindex의 초기값을 0으로 지정하였습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
package test;
public class Max {
public static void main(String[] args) {
int [] arr = { 4, 6, 32, 98, 1}; // 배열 선언
// 최대값, 최대값의 인덱스 초기값 세팅
int max = arr[0];
//max의 초기값이 배열의 1번째값(index는 0)이므로 index 초기값을 0으로 지정
int maxindex=0;
// 최대값, 최대값의 인덱스 구하기
for (int i = 1; i < arr.length; i++) {
if (arr[i]>max) {
max = arr[i];
maxindex = i;
}
}
// 최대값, 최대값 인덱스 출력
System.out.println("최대값은 : " + max);
System.out.println("최댓값의 인덱스는 : " + maxindex);
}
}
|
cs |
반응형
'JAVA' 카테고리의 다른 글
[JAVA] 배열 버블정렬(Bubble Sort) 알고리즘 (0) | 2022.06.15 |
---|---|
[JAVA] 반복문 for, while (0) | 2022.06.15 |
[JAVA] 재귀함수 - Stack overflow 오류 (0) | 2022.06.14 |
[JAVA] 조건문 if, Switch (0) | 2022.06.13 |
[JAVA] 입력 Scanner (0) | 2022.06.13 |