Programing_Java
JAVA#9 _ 배열 속 최댓값 & 최솟값 본문
#1 최댓값 찾기
배열 속의 값들을 비교하며, 최댓값을 찾는 문제.
[0]번 자리, 즉 가장 앞에 있는 수를 최댓값으로 지정을 해두고 시작하여, 차례대로 그 다음 번호의 값들과 비교.
만약, 다음 자리의 값이 더 크다면, 뒤의 수를 최댓값 변수에 저장을 다시 하며, 배열의 끝까지 반복.
int [] datas = {5, 1, 7, 9, 2};
int max = datas[0]; // 0번 자리의 값을 max 변수에 저장
for (int i = 1; i < datas.length; i++) { // 0번은 이미 사용하였기 때문에 확인이 불필요하여, 1번 부터 시작
if(max < datas[i]) { // 1번부터 시작한 값들이 이미 저장된 max값 보다 크다면
max = datas[i]; // 새로운 값을 max값에 대입
}
System.out.println(max); // max값 출력
9 // 출력값
#2 최솟값 찾기
배열 속의 값들을 비교하며, 최솟값을 찾는 문제.
풀이 방법은 최댓값을 찾는 것과 비슷.
다음 자리의 값이 더 작다면 저장을 해야하기에, 부등호가 달라짐.
Scanner sc = new Scanner(System.in);
int [] datas = new int [5]; // 배열의 길이 5
for (int i = 0; i < datas.length; i++) { // 사용자에게 5개의 정수 입력 받기
System.out.print("정수 입력 >> ");
datas[i] = sc.nextInt(); // 사용자가 입력한 정수 저장
}
datas[0] = 51; // 사용자가 입력한 가상의 정수
datas[1] = 32;
datas[2] = 11;
datas[3] = 29;
datas[4] = 47;
int min = datas[0]; // 51의 값이 최솟값으로 저장
for (int i = 1; i < datas.length; i++) {
if(min > datas[i]) { // 이미 최솟값으로 지정된 값이, 다음 값보다 크다면
min = datas[i]; // 다음 값을 min 변수에 새로 저장
}
}
System.out.println(min); // min값 출력
11 // 출력값
최댓값을 구하는 방식과 다르게 직접 값을 입력받고, 입력받은 수들 중 최솟값을 찾기.
배열의 길이는 5로 고정을 해두고, 배열의 길이만큼 사용자에게 정수를 입력.
배열의 첫번째 값을 최솟값이라고 가정을 하여, min이라는 변수에 대입.
저장된 최솟값을 기준으로 다음 자리에 있는 값들과 비교하여, 만약 뒤의 숫자가 더 작다면, 해당 값을 min 변수에 저장한다.
'JAVA_' 카테고리의 다른 글
JAVA#12 _ 함수 (0) | 2025.01.07 |
---|---|
JAVA#11 _ 게임 프로그램(Pokemon) (0) | 2025.01.06 |
JAVA#8 _ 배열 문제 (0) | 2025.01.02 |
JAVA#7 _ 변수와 배열 (0) | 2025.01.02 |
JAVA#5 _ 입력과 출력 그리고 랜덤값 (0) | 2024.12.30 |