Java
배열 (3) 활용 예시
무지맘
2022. 1. 20. 19:49
배열은 같은 타입의 변수가 여러 개 붙어있는 형태이기 때문에, 반복문을 쓰기에 아주 좋다.
1. 평균 구하기
// 1) 필요한 변수 생성
int sum = 0; // 총합
float average = 0f; // 평균
// 2) 평균을 구할 점수들을 int배열에 입력
int[] score = {50, 80, 75, 100, 90, 60};
// 3) 점수들을 모두 합해 sum에 저장
for ( int i=0; i<score.length ; i++ )
sum += score[i];
// 4) 평균을 계산
average = sum / (float)score.length;
// 계산결과를 float로 얻기 위해서 형변환
// average = (float)sum / score.length; // 같은 결과가 나옴
// 5) 결과 확인
System.out.println("총합=" + sum + ", 평균=" + average); // 총합=455, 평균=75.833336
2. 최댓값 / 최솟값 구하기
// 1) 배열 생성
int[] num = {6, 49, 23, 1, 93, 57, 20};
// 2) 배열의 0번 값으로 최댓값, 최솟값 초기화하기
int max = num[0];
int min = num[0];
// 3) 비교하면서 최댓값 / 최솟값 찾기
for( int i=1; i<num.length ; i++) { // 0번이 max, min에 저장되어있으니 1번부터 비교 시작
if(num[i] > max) // max에 저장된 값보다 크면
max = num[i]; // max값 갱신
else if(num[i] < min) // min에 저장된 값보다 작으면
min = num[i]; // min값 갱신
}
// 4) 결과 확인
System.out.println("최댓값=" + max + ", 최솟값=" + min); // 최댓값=93, 최솟값=1
3. 배열 내부 값 섞기
// 1) 배열 생성
int[] num = {0,1,2,3,4,4,5,6,7,8,9};
// 섞인 것을 확인하기 편하게 하기 위해
// 오름차순으로 정리된 값 사용하겠음
// 2) 100번 섞기
for ( int i=0 ; i<100 ; i++ ) {
int n = (int)(Math.random() * 10); // 0~9 중의 하나 랜덤 추출
int tmp = num[0]; // 0번째 요소 -> tmp에 저장
num[0] = num[n]; // n번째 요소 -> 0번째에 저장
num[n] = tmp; // tmp의 값 -> n번째에 저장
}
// 3) 섞은 결과 확인해보기
System.out.println(Arrays.toString(num)); // [4, 1, 5, 8, 4, 2, 0, 6, 3, 7, 9]
0번만 바꾸는 게 이상하다면, 아래 그림을 보면 이해가 빨리 될 것이다.