본문 바로가기

백준/JAVA

[Baekjoon/JAVA] 2441번 - 별 찍기 - 4

Baekjoon Online Judge

문제로 이동

 

문제

첫째 줄에는  N, 둘째 줄에는  N-1, ..., N번째 줄에는  1개를 찍는 문제

하지만, 오른쪽을 기준으로 정렬한 (예제 참고) 출력하시오.

 

입력

첫째 줄에 N(1 ≤ N ≤ 100) 주어진다.

 

출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

 


예제 입력 예제 출력
5 *****
 ****
  ***
   **
    *

풀이

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int N = in.nextInt();

        // 첫째 줄부터 N번째 줄까지 차례대로 별을 출력
        for (int i = 0; i < N; i++) {
            for (int j = 0; j < i; j++) // 공백 출력
                System.out.printf(" ");

            for (int j = 0; j < N - i; j++) // 별 출력
                System.out.printf("*");

            System.out.println();
        }
    }
}

아래로 갈수록 별이 하나 빠지고, 공백이 그 자리를 차지한다.

각 줄의 별의 개수 : N - i개

각 줄의 공백의 수 : i개

임을 고려해서 반복문을 통해 별을 출력했다.