본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1468 : 2차원 배열 지그재그 채우기 2-1

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1468 2차원 배열 지그재그 채우기 2-1 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력

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

출력

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

예시

  • 입력 : 4
  • 출력 :
    1 2 3 4
    8 7 6 5
    9 10 11 12
    16 15 14 13

Solution (풀이)

  • 풀이 : 메모리 12964, 시간 80
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());

        // 입력받을 숫자의 개수 만큼 for문 반복
        for (int i=0; i<n; i++) {
            if (i%2!=1) {    // 홀수 번째 줄 이면
                for (int j=(n*i)+1; j<=n*(i+1); j++) {
                    sb.append(j).append(" ");
                }
            } else if (i>0) {    // 짝수번째 줄 이면
                for (int j=n*(i+1); j>=n*i+1; j--) {
                    sb.append(j).append(" ");
                }    
            }
            sb.append("\n");    
        }

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

}

Ranking(순위)

반응형