문제 정의
- 여러 개의 수가 배열에 있을 때 그 중 가장 큰 값과 가장 작은 값을 찾는다.
- 배열의 몇 번째에 있는지 순서를 찾는다.
- 반복문을 한번만 사용하여 문제를 해결한다.
- 수의 예 : [10, 55, 23, 2, 79, 101, 16, 82, 30, 45]
결과 출력 예시
// [10, 55, 23, 2, 79, 101, 16, 82, 30, 45]
System.out.println("가장 큰 값은 " + max + "이고, 위치는 " + maxPos + "번째 입니다.");
System.out.println("가장 작은 값은 " + min + "이고, 위치는 " + minPos + "번째 입니다.");
풀이
package useful.ch04;
import java.util.Arrays;
public class MaxMin2 {
public static void main(String[] args) {
int[] array = { 10, 55, 23, 2, 79, 101, 16, 82, 30, 45 };
int maxPos = 0;
int minPos = 0;
int max = array[maxPos];
int min = array[minPos];
for (int i = 0; i < array.length; i++) {
// 0번부터 비교하여 더 큰 값을 max에 담아서 끝까지 감
if (max < array[i]) {
max = array[i];
maxPos = i + 1;
}
// 0번부터 비교하여 더 작은 값을 min에 담아서 끝까지 감
if (min > array[i]) {
min = array[i];
minPos = i + 1;
}
}
System.out.println("가장 큰 값은 " + max + "이고, 위치는 " + maxPos + "번째 입니다.");
System.out.println("가장 작은 값은 " + min + "이고, 위치는 " + minPos + "번째 입니다.");
}
}
가장 큰 값은 101이고, 위치는 6번째 입니다.
가장 작은 값은 2이고, 위치는 4번째 입니다.
'Java > Java 유용한 클래스' 카테고리의 다른 글
Java multi-threading - 5 (0) | 2024.05.01 |
---|---|
Java Thread - 4 (1) | 2024.05.01 |
Exception(예외처리) - 3 (0) | 2024.04.29 |
String, StringBuffer 클래스 - 2 (1) | 2024.04.26 |
Object 클래스 - 1 (0) | 2024.04.25 |