본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1508 : 나도 IQ 150

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1508 나도 IQ 150 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력

첫 줄에 이 삼각격자의 세로 길이 N이 입력된다.(2 <= N <= 20)
둘째 줄부터 N+1째 줄까지 (k, 1)의 격자판의 정보가 입력된다. ( 1 <= k <= N)

출력

N크기의 삼각 격자판을 출력하시오.
(출력할 때 각 행의 마지막에 공백을 넣어 출력하세요.(표현 오류때문))

예시

  • 입력 :
    4
    4
    6
    9
    19
  • 출력 :
    4
    6 2
    9 3 1
    19 10 7 6

Solution (풀이)

  • 풀이 : 메모리 11160, 시간 66
public class Answer1 {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        int length = Integer.parseInt(br.readLine());

        // 입력받을 숫자의 개수만큼 2차원 배열 선언
        int[][] arr = new int[length][length];

        // length만큼 for문 반복
        for (int i=0; i<length; i++) {
            // 첫 번째 자리 숫자 저장
            arr[i][0] = Integer.parseInt(br.readLine());
        }

        for (int i=0; i<length-1; i++) {
            for (int j=0; j<=i; j++) {
                arr[i+1][j+1] = arr[i+1][j]-arr[i][j];
            }
        }

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

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

}

Ranking(순위)

반응형