✏️ 문제풀이/백준

[백준/Java] 2445번 :: 별 찍기 - 8

bono-hye 2024. 7. 31. 20:51

| 문제

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

 

| 입력

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

 

| 출력

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

 

| 예제 출력 (5)

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

 

| 풀이

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Main {

    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        int N = Integer.parseInt(br.readLine());

        for(int i=1; i<=N; i++) {
            for(int j=1; j<=i; j++)
                sb.append("*");
            for(int k=1; k<=2*(N-i); k++)
                sb.append(" ");
            for(int j=1; j<=i; j++)
                sb.append("*");
            sb.append("\n");
        }

        for(int i=N-1; i>=1; i--) {
            for (int j = 1; j <= i; j++)
                sb.append("*");
            for (int k = 1; k <= 2 * (N - i); k++)
                sb.append(" ");
            for (int j = 1; j <= i; j++)
                sb.append("*");
            sb.append("\n");
        }
        System.out.print(sb);

    }
}