반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1513 지그재그 배열 3 (자바, JAVA)입니다.
Intro
Question
문제 설명
입력
정수 n이 입력된다.( 1 <= n <= 99)
출력
n*n사각형에서 삼각형 모양으로 지그재그 출력한다.
예시
- 입력 : 5
- 출력 :
0 0 0 0 5
0 0 0 4 6
0 0 3 7 12
0 2 8 11 13
1 9 10 14 15
Solution (풀이)
- 풀이 : 메모리 11164, 시간 68
public class Answer {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int n = Integer.parseInt(br.readLine());
// 각 줄의 숫자 10개를 입력받을 배열 선언
int[][] numbers = new int[n][n];
int count = 0;
for (int i=0; i<n; i++) {
count += i;
}
int a = n*n-count;
int i = n-1; // 첫 행의 index
int j = 0; // 첫 열의 index
int many = 0;
int no = 1;
while (no<=a) {
numbers[i][j] = no;
if (many%2==0) { // 정방향
if (i==many) {
i++;
many++;
} else {
i--;
j++;
}
} else { // 역방향
if (i==n-1) {
j++;
many++;
} else {
i++;
j--;
}
}
no++;
}
for (int[] p : numbers) {
for (int q : p) {
sb.append(q).append(" ");
}
sb.append("\n");
}
System.out.println(sb);
br.close();
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1521 : 인삼밭 (0) | 2022.07.28 |
---|---|
[CodeUp_Java] Q1514 : 레이저 체스 (0) | 2022.07.28 |
[CodeUp_Java] Q1511 : 테두리의 합 (0) | 2022.07.28 |
[CodeUp_Java] Q1510 : 홀수 마방진 (0) | 2022.07.28 |
[CodeUp_Java] Q1509 : 진격 후 결과 (0) | 2022.07.28 |