공부하기/백준

[Java] 백준 풀기 2444 - 별 찍기 7

XEV 2023. 7. 5. 23:47

자바 백준 2444번

브론즈 3

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

 

2444번: 별 찍기 - 7

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

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 구현

 

 

 

 

 

문제 풀기

for loop의 i 값의 변화에 따라 빈칸과 별을 출력한다.

제일 긴 줄을 중심으로 위 아래로 나누어 위에는 i 가 증가형으로 아래는 i 가 감소형으로 for loop를 동작시킨다.

 

i 값에 따라 공백은

for (int j = 1; j <= N - i; j++) {}

규칙으로..

i 값에 따라 별은

for (int j = 1; j <= 2 * i - 1; j++) {}

규칙으로 출력한다.

 

 

 

 

 

코드 보기

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 <= N - i; j++) {
                System.out.print(" ");
            }
            
            // 별 출력
            for (int j = 1; j <= 2 * i - 1; j++) {
                System.out.print("*");
            }
            
            // 줄바꿈
            System.out.println();
        }

        // 아랫부분 출력
        for (int i = N - 1; i >= 1; i--) {
            // 공백 출력
            for (int j = 1; j <= N - i; j++) {
                System.out.print(" ");
            }
            
            // 별 출력
            for (int j = 1; j <= 2 * i - 1; j++) {
                System.out.print("*");
            }
            
            // 줄바꿈
            System.out.println();
        }
    }
    
}