공부하기/백준

[Java] 백준 풀기 2445 - 별 찍기 8

XEV 2023. 7. 6. 23:42

자바 백준 2445번

브론즈 3

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

 

2445번: 별 찍기 - 8

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

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 구현

 

 

 

 

 

문제 풀기

별 찍기 7 문제를 응용하여 출력한다.

https://xcevor.tistory.com/399

 

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

자바 백준 2444번 브론즈 3 https://www.acmicpc.net/problem/2444 2444번: 별 찍기 - 7 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 문제 보기 분류: 구현 문제 풀기 for loop의 i 값의 변화

xcevor.tistory.com

 

별 찍기 7과 달리 빈칸을 별로 채우고 별을 빈칸으로 채운다. 이때 가운데 빈칸은 짝수 개수를 갖는다.

각 줄마다 왼쪽 별을 먼저 출력하고 빈칸을 출력, 그리고 오른쪽 별을 출력한다.

 

 

 

 

 

코드 보기

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 = N - 1; i >= 0; i--) {
            // 왼쪽 별 출력
            for (int j = 1; j <= N - i; j++) {
                System.out.print("*");
            }
            
            // 짝수 공백 출력
            for (int j = 1; j <= 2 * i; j++) {
                System.out.print(" ");
            }
            
            // 오른쪽 별 출력
            for (int j = 1; j <= N - i; j++) {
                System.out.print("*");
            }
            
            // 줄바꿈
            System.out.println();
        }
        
        // 아랫부분 출력
        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; j++) {
                System.out.print(" ");
            }
            
            // 오른쪽 별 출력
            for (int j = 1; j <= N - i; j++) {
                System.out.print("*");
            }
            
            // 줄바꿈
            System.out.println();
        }
    }
    
}