문제풀이/자바

TIL - 자바의정석 연습문제[ch5 - 4 ]

Mo_bi!e 2022. 12. 20. 13:19

[4 - 2]

1. 문제설명

2. 나의 해답

package pr5;

public class pr5_x {

	public static void main(String[] args){
		
		int[][] arr = {
				
		{ 5, 5, 5, 5, 5},
		{10,10,10,10,10},
		{20,20,20,20,20},
		{30,30,30,30,30}
		
		};
		
		int total = 0;
		float average = 0;
		
		/*
		(1) 알맞은 코드를 넣어 완성하시오.
		*/
		for(int i = 0 ; i < arr.length ; i++)
			for(int j = 0 ; j < arr[i].length ; j++) {
				
				total += arr[i][j];
				
			}
		
		average =  (float)total /(arr[0].length * arr.length);
		
		System.out.println("total="+total);
		System.out.println("average="+average);
		
	} // end of main
}

콘솔 : 21 (오답)

3. 정답 코드

4. 보충 및 회고 

(1) 보충

1) float로 형변환 하는 것을 익숙해지자

두개의 자료형간에 연산을 할 경우 표현범위가 큰 쪽으로 맞추어서 변환된 후 연산한다.

 

(2) 회고 : 문제풀이과정에서 어떻게 접근하려고했는지 (접근방법) + 어려움이 있었는데 해결했다.

1) 단순하게 인덱스의 갯수를 를 모두 이중 for문으로 출력하려고했는데, 꼭 이럴필요없이 배열이 일정한 모양이면 곱셉으로도 간단하게 해결이 가능하다.