Algorithm/Baekjoon

백준 / 입출력 / 2445번 / 별 찍기 - 8

Gyuri 2022. 7. 2. 22:59

[문제]

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

[입력]

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

[출력]

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

[예제 입력]

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 = 1; i <= n; i++) { 
            for (int j = 1; j <= i; j++) {
                System.out.print("*");                
            }
            for (int k = n-i; k >= 1; k--) { 
                System.out.print(" ");
            }
            for (int k = n-i; k >= 1; k--) { 
                System.out.print(" ");
            }
            for (int j = 1; j <= i; j++) {
                System.out.print("*");                
            }
            System.out.println();
        }

        for (int i = n-1; i >= 1; i--) { 
            for (int j = 1; j <= i; j++) {
                System.out.print("*");                
            }
            for (int k = n-i; k >= 1; k--) { 
                System.out.print(" ");
            }
            for (int k = n-i; k >= 1; k--) { 
                System.out.print(" ");
            }
            for (int j = 1; j <= i; j++) {
                System.out.print("*");                
            }
            System.out.println();
        }
    }
}

*

**

***

****

*****

****

***

**

*

를 다른 for문으로 따로 작성해줬고, 

중간에 포함되는 공백도 두번으로 나눠 각각 for문으로 작성했다.