반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1510 홀수 마방진 (자바, JAVA)입니다.
Intro
Question
문제 설명
입력
마방진의 크기인 n이 입력된다.(n은 50보다 작은 홀수인 자연수)
출력
위의 방법대로 크기가 n인 홀수 마방진을 출력한다.
예시
- 입력 : 3
- 출력 :
8 1 6
3 5 7
4 9 2
Solution (풀이)
- 풀이 : 메모리 11344, 시간 69
public class Answer {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int length = Integer.parseInt(br.readLine());
// 각 줄의 숫자 10개를 입력받을 배열 선언
int[][] numbers = new int[length][length];
int i = 0; // 시작 인덱스 i
int j = length/2; // 시작 인덱스 j
int start = 0; // 시작 숫자
while (start++<length*length) {
numbers[i][j] = start;
if (start%length==0) {
i++;
} else {
// 행 index를 순차적으로 줄여주되 첫 행이면 마지막 행으로
if (i==0) {
i=length-1;
} else {
i--;
}
// 열 index를 순차적으로 늘려주되 마지막 열이면 첫 행으로
if (j==length-1) {
j=0;
} else {
j++;
}
}
}
// for each문 활용
for (int[] a : numbers) {
for (int b : a) {
sb.append(b).append(" ");
}
sb.append("\n");
}
System.out.println(sb);
br.close();
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1513 : 지그재그 배열 3 (0) | 2022.07.28 |
---|---|
[CodeUp_Java] Q1511 : 테두리의 합 (0) | 2022.07.28 |
[CodeUp_Java] Q1509 : 진격 후 결과 (0) | 2022.07.28 |
[CodeUp_Java] Q1508 : 나도 IQ 150 (0) | 2022.07.28 |
[CodeUp_Java] Q1507 : 4개의 직사각형 넓이 (0) | 2022.07.28 |