본문 바로가기

[BOJ] - JAVA

[백준] 2442 : 별 찍기 - 5 JAVA 풀이

N = 5일 때

(공백 N-1개)   * (공백 N-1개) 
(공백 N-2개)  *** (공백 N-2개)
(공백 N-3개)  ***** (공백 N-3개) 
(공백 N-4개)  ******* (공백 N-4개) 

(공백 N-5개)  ********* (공백 N-5개) 
이런 식으로 출력하라는 문제인데, 별 뒤에 공백은 신경쓸 필요가 없다.

따라서 for문의 i를 1부터 N까지 반복하면서 N-1번 공백을 찍고 2*i-1번 *을 찍도록 코드를 구성했다.

import java.io.*;
public class Main{
    public static void main(String[] args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder();
        
        String star = "*";
        String space = " ";
        
        for(int i=1;i<=N;i++) {
            sb.append(space.repeat(N-i)).append(star.repeat(2*i-1)).append("\n");
        }
        System.out.print(sb);
    }
}