ALGORITHM/백준

[JAVA] 백준 2439 - 별 찍기 - 2

송경훈 2024. 4. 28. 12:27
반응형

문제

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

 

입력

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

 

출력

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

 

입출력 예제

 

알고리즘❓ 풀어내기❗️

1. 처음에는 오른쪽부터 별을 출력하는 방법이 무엇인지 고민했다.
2. 그러나 왼쪽부터 공백을 출력하는 방법으로 풀어내면 간단한 문제라는 것을 깨달았다.
3. 알고리즘 문제는 다방면으로 생각할 줄 아는 능력을 기르는 것이 정말 중요하다는 것을 또 깨닫게 되었다.

 

🧑🏻‍💻코드 리뷰

import java.util.Scanner;

public class Main {

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

        int N = in.nextInt();
        in.close();

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

첫 번째 for문 : 1부터 N까지 반복한다.
두 번째 for문 : 1부터 N - i까지 반복하여 공백을 출력한다.
세 번째 for문 : 0부터 i까지 별을 출력한다.