2020-09-07
오늘은 특정 배열 내에서의 최댓값과 최솟값을
구하는 방법을 알아보도록 하겠습니다.
숫자의 범위는 이해를 쉽게 하기 위해 1~10까지의 수가 들어간
배열을 산정하였습니다.
소스코드
a = 1부터 증가하는 숫자가 들어갈 배열
ex) a[0] 1이 들어갈 예정;
int i = 0;
int [] a = new int[10];
int count = 0;
//1씩 증가되는 수가 저장될 변수
int max = 0, min = 10000;
//최댓값과 최솟값이 들어갈 변수;
do {
count++;
a[i] = count;
if(max <= a[i]) {
max = a[i];
}
if(min >= a[i]) {
min = a[i];
}
//배열에 삽입된 값이 최댓값인지 최솟값인지
//계속 비교하며 값은 갱신함
i++;
//배열의 위치를 하나씩 증가시켜준다.
}while(i < 10);
System.out.println(max + " " + min);
출력 값: max = 10 // min = 1;
여기서 끝내면 아쉬우니 극한값을 제외한 해당 배열의 평균을 구해보도록 하겠습니다.
ex) 이해를 돕기 위해 배열의 첫 번째 값은 a [0] = 0;
마지막 값은 a[n] = 100;으로 산정 후
a [1] ~ a [n-1] 배열 위치에 모두 숫자 5를 삽입하여,
평균을 구해보도록 하겠습니다.
코드가 맞다면 극한값인 0과 100은 제외한 5들의 합의 평균을 구하게 되어
평균 역시 5가 출력될 것입니다.
소스코드
int i = 0;
int [] a = new int[10];
a[0] = 0;
a[9] = 100;
//0 번째 자리와 마지막 자리에
//각 최소값과 최대값을 넣어줍니다.
int sum = 0;
//평균을 구하기 위한 배열의 합이 저장될 변수
int five = 5;
//숫자 5 변수 선언
int max = 0, min = 10000;
//최댓값과 최솟값이 들어갈 변수;
for(int j = 1; j < a.length - 1; j++) {
a[j] = five;
}
// 배열에 5를 넣어주기 위한 반복문
do {
if(max <= a[i]) {
max = a[i];
}
if(min >= a[i]) {
min = a[i];
}
//배열에 삽입된 값이 최댓값인지 최솟값인지
//계속 비교하며 값은 갱신함
sum += a[i];
i++;
//배열의 위치를 하나씩 증가시켜준다.
}while(i < 10);
System.out.println(max + " " + min);
System.out.println((sum - max - min) / 8);
//두 값을 빼주기 때문에 10 - 2 하여 8로 나누어 준다.
출력값: max = 100 // min = 0 // 평균 = 5;