본문 바로가기

Coding Test/백준

백준 13015. 별 찍기 - 23

문제

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

 

입력

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

 

출력

규칙대로 별을 출력한다.

 

 

 

내가 쓴 코드

import java.util.*;

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

        //
        for(int i = 1; i <= n; i++){
            System.out.print("*");
        }

        for(int i = 1; i <= n * 2 - 3; i++){
            System.out.print(" ");
        }
        
        for(int i = 1; i <= n; i++){
            System.out.print("*");
        }

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

            //
            System.out.println("*");
        }
        
        //

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

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

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

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

'Coding Test > 백준' 카테고리의 다른 글

백준 10828. 스택  (0) 2021.03.11
백준 10873. 동전게임  (0) 2021.03.11
백준 14697. 방 배정하기  (0) 2021.03.11
백준 15953. 상금헌터  (0) 2021.03.11
백준 10845. 큐  (0) 2021.03.02