티스토리 뷰
public class HW03 {
public static void main(String[] args) {
int[][] arr = new int[5][5];
int count = 1;
int rowStart = 0, rowEnd = 4, colStart = 0, colEnd = 4;
while (count <= 25) {
// 오른쪽으로 이동
for (int i = colStart; i <= colEnd; i++) {
arr[rowStart][i] = count++;
}
rowStart++;
// 아래쪽으로 이동
for (int i = rowStart; i <= rowEnd; i++) {
arr[i][colEnd] = count++;
}
colEnd--;
// 왼쪽으로 이동
for (int i = colEnd; i >= colStart; i--) {
arr[rowEnd][i] = count++;
}
rowEnd--;
// 위쪽으로 이동
for (int i = rowEnd; i >= rowStart; i--) {
arr[i][colStart] = count++;
}
colStart++;
}
// 출력하기
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.printf("%02d ", arr[i][j]);
}
System.out.println();
}
}
}
출력 결과
01 02 03 04 05
16 17 18 19 06
15 24 25 20 07
14 23 22 21 08
13 12 11 10 09
이걸 내 나름대로 이중 for문 써서 만든 코드
int count = 1;
for (int i = rowStart; i <= rowEnd; i++) {
arr[i][colStart] = count++;
}
colStart++;
for (int i = colStart; i <= colEnd; i++) {
arr[rowEnd][i] = count++;
}
rowEnd--;
for (int i = rowEnd; i >= rowStart; i--) {
arr[i][colEnd] = count++;
}
colEnd--;
for (int i = colEnd; i >= colStart; i--) {
arr[rowStart][i] = count++;
}
rowStart++;
// 출력하기
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.printf("%02d ", arr[i][j]);
}
System.out.println();
}
728x90
반응형
'[개발] - Java > Mega' 카테고리의 다른 글
Day09-2. 선택 정렬 / 과제-비행기 예약 시스템 만들기 (0) | 2023.03.26 |
---|---|
Day09-1. 다차원 배열 (0) | 2023.03.26 |
변수 값 치환하기 예제 chat GPT 답변 (1) | 2023.03.23 |
Day08. 배열과 가비지 컬랙션, 배열의 최댓값 구하기 (0) | 2023.03.23 |
Day07. 반복문 Quiz, 배열 도입 (0) | 2023.03.23 |
Comments