반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1474 2차원 배열 지그재그 채우기 2-7 (자바, JAVA)입니다.
Intro
Question
문제 설명
입력
첫 번째 줄에 배열의 크기 n m이 입력된다.
[입력값의 정의역]
1<= n,m <= 100
출력
n*n 크기의 배열을 설명과 같이 채워 출력한다.
예시
- 입력 : 2 3
- 출력 :
6 3 2
5 4 1
Solution (풀이)
- 풀이 : 메모리 12656, 시간 75
public class Answer1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int[][] arr = new int[n][m]; // 2차원 배열 선언
int number = n*m;
// 입력받을 숫자의 개수 만큼 for문 반복
for (int i=0; i<m; i++) {
if (m%2!=0 || m==1) {
if (i%2 != 0) { // 홀수 번째 줄이면
for (int j=1; j<=n; j++) {
arr[n-j][i] = number;
number--;
}
} else { // 짝수 번째 줄이면
for (int j=0; j<n; j++) {
arr[j][i] = number;
number--;
}
}
} else {
if (i%2 == 0) { // 홀수 번째 줄이면
for (int j=1; j<=n; j++) {
arr[n-j][i] = number;
number--;
}
} else { // 짝수 번째 줄이면
for (int j=0; j<n; j++) {
arr[j][i] = number;
number--;
}
}
}
}
// for each문 활용
for (int[] i : arr) {
for (int j : i) {
sb.append(j).append(" ");
}
sb.append("\n");
}
System.out.println(sb);
br.close();
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1476 : 2차원 배열 빗금 채우기 3-1 (0) | 2022.07.27 |
---|---|
[CodeUp_Java] Q1475 : 2차원 배열 지그재그 채우기 2-8 (0) | 2022.07.27 |
[CodeUp_Java] Q1473 : 2차원 배열 지그재그 채우기 2-6 (0) | 2022.07.27 |
[CodeUp_Java] Q1472 : 2차원 배열 지그재그 채우기 2-5 (0) | 2022.07.27 |
[CodeUp_Java] Q1471 : 2차원 배열 지그재그 채우기 2-4 (0) | 2022.07.27 |