[Baekjoon] 별 찍기 - 10990 문제풀이 with Java

2020. 4. 18. 14:47Computer Sciences/Problem Solve

 

https://www.acmicpc.net/problem/10990

 

10990번: 별 찍기 - 15

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

www.acmicpc.net

 

규칙 - 줄은 n만큼 생긴다.

         n-i만큼 공백이 생기고 그 뒤에 별 하나를 찍는다.

         그 뒤로 i*2-3(1행 - 0, 2행 - 1, 3행 - 3 ... 0,1,3,5... 순의 홀수개) 만큼의 공백 생성 후 별 하나 찍기

 

import java.util.Scanner;

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

        int n = scanner.nextInt();
        scanner.close();

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

            if(i>1) {
                for(int j=0; j<2*i-3; j++) {
                     System.out.print(" ");
                }
                System.out.print("*");
                
            }
            System.out.println();
        }
    }
}

더 효율적인 코드가 있겠지만 지금은 자바 기초를 떼고 있는 입장으로서 알고리즘에 의미를 두도록 할게요.