본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1504 : 지그재그 입력 2

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1504 지그재그 입력 2 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력

정수 n이 입력된다. ( 1 <= n <= 100)

출력

n * n 배열을 수직으로 채워서 출력한다.

예시

  • 입력 : 3
  • 출력 :
    1 6 7
    2 5 8
    3 4 9

Solution (풀이)

  • 풀이 : 메모리 12600, 시간 76
public class Answer1 {

    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());
        int[][] arr = new int[n][n];
        int number = 1;

        // 입력받을 라인 만큼 for문 반복
        for (int i=0; i<n; i++) {
            if (i%2==0) { // n의 배수의 바로 다음 숫자일 때 
                for (int j=0; j<n; j++) {
                    arr[j][i] = number;
                    number++;
                }    
            } else {    //짝수 번째 줄 일때
                for (int j=n-1; j>=0; j--) {
                    arr[j][i] = number;
                    number++;
                }
            }
        }

        for (int[] i : arr) {
            for (int j : i) {
                sb.append(j).append(" ");
            }
            sb.append("\n");
        }

        System.out.println(sb);
        br.close();
    }

}

Ranking(순위)

반응형