알고리즘/[코드업] 기초5-3. 2차원 배열

[JAVA] CodeUp 1467 : [기초-배열연습] 2차원 배열 순서대로 채우기 1-8

Art Rudy
728x90
반응형

https://codeup.kr/problem.php?id=1467 

 

[기초-배열연습] 2차원 배열 순서대로 채우기 1-8

다음과 같은 n*m 배열 구조를 출력해보자. 입력이 3 4인 경우 다음과 같이 출력한다. 10 7 4 1 11 8 5 2 12 9 6 3 입력이 4 5인 경우는 다음과 같이 출력한다. 17 13 9 5 1 18 14 10 6 2 19 15 11 7 3 20 16 12 8 4 입력이

codeup.kr

문제 분류 : 기초5-3. 2차원 배열

문제 설명

다음과 같은 n*m 배열 구조를 출력해보자.

입력이 3 4인 경우 다음과 같이 출력한다.
10 7 4 1
11 8 5 2
12 9 6 3

입력이 4 5인 경우는 다음과 같이 출력한다.
17 13 9 5 1
18 14 10 6 2
19 15 11 7 3
20 16 12 8 4

입력이 n m인 경우의 2차원 배열을 출력해보자.

입력

첫 번째 줄에 배열의 크기 n m이 입력된다.
[입력값의 정의역]
1<= n, m<= 100

출력

n*m 크기의 배열을 설명과 같이 채워 출력한다.

입력 예시

2 3

출력 예시

5 3 1

6 4 2

도움말

 

 

내 답안

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {

  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

    String[] strArr = new String[2];
    strArr = br.readLine().split(" ");

    int n = Integer.parseInt(strArr[0]);
    int m = Integer.parseInt(strArr[1]);
    int sum = n*m;

    int [][] arr = new int [n][m];

    for(int i = 0; i < n; i++) {
      for(int j = 0; j < m; j++) {
        arr[i][j] = sum-(n*(j+1))+1;
        bw.write(String.valueOf(arr[i][j]+" "));
      }
      sum++;
      bw.write("\n");
    }

    bw.flush();
    bw.close();
    br.close();
  }
}
728x90
반응형