Algorithm/Baekjoon

백준 / 입출력 / 2439번 / 별 찍기 - 2

Gyuri 2022. 7. 2. 16:55

[문제]

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

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

[입력]

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

[출력]

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

[예제 입력]

5

[예제 출력]

    *
   **
  ***
 ****
*****

 

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
    
        int n = sc.nextInt();
        for(int i=0; i<n; i++) { 
            for(int k=0; k<n-i-1; k++) { 
                System.out.print(" ");
            }
            for(int j=0; j<=i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

 

별 앞에 공백을 채워줘야 하는데,

별이 1,2,3,4,5 순서라면, 공백은 5,4,3,2,1로 거꾸로 출력해줘야 한다.

for문 안에서 공백은 수가 작아지게, 별은 수가 커지게 출력하면 된다.

 

정올에서 한참 별 찍기 문제를 많이 풀어서 익숙해졌었는데,

오랜만에 해서 쉬운 문제인데도 시간이 좀 걸렸다.