반응형

https://www.codetree.ai/missions/4/problems/print-star-5/description

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

코드

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; i >= 1; i--) {  // n부터 1까지 반복
            for (int j = 0; j < i; j++) {
                for (int k = 0; k < i; k++) {
                    System.out.print("*");  // 별 출력
                }
                if (j < i - 1) {
                    System.out.print(" ");  // 각 패턴 사이의 공백 출력
                }
            }
            System.out.println();  // 줄 바꿈
        }

        sc.close();
    }
}

 

설명

for (int i = n; i >= 1; i--) {

- 이 반복문은 n부터 1까지 역순으로 반복합니다.

- i는 현재 줄에서 출력할 별의 개수와 반복 패턴의 수를 결정합니다.

- 예를 들어, n=4라면 첫 번째 줄에서는 4개의 패턴이 있고, 각 패턴에 4개의 별이 있습니다.

 

for (int j = 0; j < i; j++) {

- 이 반복문은 각 줄에서 몇 개의 패턴이 반복될지 결정합니다.

- i가 4일 때는 4개의 패턴이 출력되며, i가 3일 때는 3개의 패턴이 출력됩니다.

 

for (int k = 0; k < i; k++) {
    System.out.print("*");
}

- 이 반복문은 각 패턴에서 몇 개의 *가 출력될지를 결정합니다.

- i가 4이면 ****, i가 3이면 ***가 출력됩니다.

 

if (j < i - 1) {
    System.out.print(" ");
}

- 패턴과 패턴 사이에 공백을 추가합니다.

- j < i - 1 조건을 통해 마지막 패턴 뒤에는 공백이 출력되지 않도록 합니다.

- 예를 들어, i가 4일 때 **** **** **** ****로 출력되어야 하므로, 공백은 3개만 추가됩니다.

 

System.out.println();

- 각 줄의 출력이 끝나면 다음 줄로 넘어갑니다.

- 이 줄 바꿈이 없으면 모든 별이 한 줄에 연속으로 출력됩니다.

 

 

반응형

+ Recent posts