[정올] 1339_문자삼각형2 (JAVA)

업데이트:


문제

삼각형의 높이 N을 입력받아서 아래와 같이 문자 ‘A’부터 차례대로 맨 오른쪽 가운데 행부터 차례대로 아래와 같이 채워서 삼각형 모양을 출력하는 프로그램을 작성하시오.


처리조건

(1) 오른쪽 가운데 행에 문자 ‘A’를 채우고 왼쪽 열로 이동하여 위에서 아래로 채워나간다.

(2) 가장 왼쪽 행까지 반복하여 모두 채워 나간다. (문자 ‘Z’다음에는 ‘A’부터 다시 시작한다.)

조건예



입력형식

  • 삼각형의 높이 N(N의 범위는 1이상 100 이하의 홀수)을 입력받는다.



출력형식

  • 주어진 형태대로 높이가 N인 문자삼각형을 출력한다. 문자 사이는 한 개의 공백으로 구분한다. 입력범위를 벗어나면 “INPUT ERROR”를 출력한다.



입출력 예

예



코드

import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
         
        int n = sc.nextInt();
         
        if(n > 100 || n % 2 == 0) {
            System.out.println("INPUT ERROR");
            return;
        }
         
        char[][] arr = new char[n][n];
        char start = 'A';
        for(int i = n/2;  i >= 0; i--) {
            for(int j = i; j < n-i; j++) {
                if(start > 'Z') start = 'A';
                arr[j][i] = start++;
            }
        }
         
        for(int i = 0; i < n; i++) {
            for(int j = 0; j <n; j++) {
                if(arr[i][j] == '\0') System.out.print("  ");
                else System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }
    }
}

댓글남기기