java quiz) 2차원 배열에 대각선 5에 배수 넣기!
자바/자바 퀴즈
2020. 11. 18. 19:23
2 | 2 | 2 | 20 |
2 | 2 | 15 | 2 |
2 | 10 | 2 | 2 |
5 | 2 | 2 | 2 |
위 에 표와 같이 정방 행렬에서 대각선으로 5의 배수를 넣으려고 하는 문제입니다.
예전에는 이런 것들을 생각해 보지않았는데 이번에 보고 있는 책에 이런 예제 가 있더라구요.
책에 예제는 4, 4 정방행렬에서만 사용할 수 있게 살짝 하드코딩 되어있어서.
다른 정방 행렬에서도 사용할 수 있게 다시 코딩해 보았습니다.
제가 찾은 규칙은 이렇습니다.
1. 배열의 특정 지점에 5의 배수를 입력
2. 배열 index의 합이 배열의 최대 길이 -1 일때 5의 배수를 입력
3. 입력되는 값은 (length - index X) * 5
- index X는 배열의 index를 Arr[X] [Y] 이렇게 본 것입니다.
코드
public static void main(String[] args) {
/*
* 특정 교차 지점에 5의 배수를 입력
* 배열 index의 합이 최대 길이 -1 일 때 5의 배수를 입력
* 입력되는 값은 (length - index X) * 5
*
*/
int [][] arr = new int[10][10]; // 배열 설정
// 배열 저장
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
if(i+j == arr.length-1) {
arr[i][j] = (arr.length - i)*5;
}else {
arr[i][j] = 2;
}
}
}
//배열에 저장된 값 출력
System.out.println("배열 결과");
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
}
10 * 10 정방 행렬일 때 결과
'자바 > 자바 퀴즈' 카테고리의 다른 글
java quiz) 소수 구하기 (0) | 2020.11.25 |
---|---|
java quiz) for문을 이용한 별찍기 풀기 (0) | 2020.11.19 |
java quiz) 배열의 가로, 세로, 대각선의 각각의 합 구하기 (0) | 2020.11.19 |