백준 알고리즘 | 2439번 문제: 별 찍기 - 2

출처

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

문제

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

입력

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

출력

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

예제 입력 1

5

예제 출력 1


        *
      **
    ***
  ****
*****

알고리즘 분류

  • 구현

문제 풀이

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
            // 반복 횟수를 입력
            int input = Integer.parseInt(br.readLine());

            // 출력한 스페이스를 입력한 만큼 만든다.
            String space = "";
            for (int i = 0; i < input - 1; i++) {
                space = space + " ";
            }
            // 별 출력
            String star = "";
            for (int i = 0; i < input; i++) {
                star = star + "*";
                System.out.println(space.substring(0, space.length() - i) + star);
            }
        }
    }
}