코린이의 소소한 공부노트

배열 (3) 활용 예시 본문

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번만 바꾸는 게 이상하다면, 아래 그림을 보면 이해가 빨리 될 것이다.

[그림] 0번과 n번을 계속 바꾸다보면 배열 내부의 값이 섞이게 된다.

 

'Java' 카테고리의 다른 글

String 클래스  (0) 2022.02.06
배열 (4) 2차원 배열  (0) 2022.01.24
배열 (2) 초기화, 출력  (0) 2022.01.19
배열 (1) 선언과 생성, 인덱스  (0) 2022.01.14
제어문 (2) 반복문 - while, do-while  (0) 2022.01.08