package com.gyuone.homework;
/* findAverage 메서드를 작성하시오
- 2차원 배열(double)을 입력으로 받음(사이즈 제한 없음)
배열의 각 항목을 조사하면서 0값을 발견하면 해당 위치의 Row들 값 평균과
Column 들 값 평균 중 큰 값으로 대체함 */
public class Homework {
public static void main(String[] args) {
double[][] findAvgInput = { { 5, 4.5, 6.8 }, { 6, 0, 3.4 }, { 7, 8.4, 2.3 } }; // 버블타입의 2차원 배열
findAverage(findAvgInput);
}
public static void findAverage(double[][] array) {
for (double[] row : array) {
for (double column : row) {
System.out.printf("%2.1f ", column);
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
if (array[i][j] == 0) {
double sum = array[i-1][j] + array[i][j]+ array[i+1][j]; // 4.5 + 0 + 8.4
double sum2 = array[i][j-1] + array[i][j] + array[i][j+1]; // 6.0 + 0 + 3.4
if (sum > sum2) {
double avg = sum / 3;
array[i][j] = avg;
} else {
double avg = sum2 / 3;
array[i][j] = avg;
}
}
}
}
}
System.out.println();
}
}
}
답안..
package com.gyuone.homework;
/* findAverage 메서드를 작성하시오
- 2차원 배열(double)을 입력으로 받음(사이즈 제한 없음)
배열의 각 항목을 조사하면서 0값을 발견하면 해당 위치의 Row들 값 평균과
Column 들 값 평균 중 큰 값으로 대체함 */
public class HomeWork2 {
public static void main(String[] args) {
double[][] findAvgInput = { { 5, 4.5, 6.8 }, { 6, 0, 3.4 }, { 7, 8.4, 2.3 } };
findAverage(findAvgInput);
}
public static void findAverage(double[][] array) {
for (int row = 0; row < array.length; row++) {
for (int column = 0; column < array[row].length; column++) {
if (array[row][column] == 0) {
array[row][column] = Math.max(getRowTotal(array, row) / array[row].length,
getColumnTotal(array, column) / array.length);
}
}
}
for (double[] row : array) {
for (double column : row) {
System.out.printf("%2.1f ", column);
}
System.out.println();
}
}
public static double getRowTotal(double[][] array, int row) {
double sum = 0.0;
for (int column = 0; column < array[row].length; column++) {
sum += array[row][column];
}
return sum;
}
public static double getColumnTotal(double[][] array, int column) {
double sum = 0.0;
for(int row=0; row < array.length;row++){
sum += array[row][column];
}
return sum;
}
}
'IT > JAVA' 카테고리의 다른 글
[19일차] JAVA (0) | 2022.07.14 |
---|---|
[18일차] JAVA 알고리즘 문제풀이 2 (0) | 2022.07.13 |
[18일차] JAVA 컬렉션 프레임워크 (0) | 2022.07.13 |
[17일차] JAVA Programmers 개념정리 (0) | 2022.07.12 |
[17일차] JAVA Generic / lambda (0) | 2022.07.12 |
댓글