본문 바로가기

[BOJ] - JAVA

[백준] 2441 :별 찍기 4 JAVA 풀이

1. N을 입력받는다.

2. 0번 공백을 출력하고 N번 *을 출력하고, 1번 공백을 출력하고 N-1번 *을 출력하는 식으로 반복되니

    반복문을 사용해 i번 공백출력, N-i번 *출력 후 줄바꿈을 하도록 코드를 작성한다.

 

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());
        String star = "*";
        String space = " ";
        
        for(int i=0;i<N;i++) {
        	System.out.print(space.repeat(i));
        	System.out.print(star.repeat(N-i));
        	System.out.println("");
        }
    }
}

System.out.print를 여러번 호출하기보다 StringBuilder를 사용하면 실행시간이 좀 더 줄어든다.

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=0;i<N;i++) {
            sb.append(space.repeat(i)).append(star.repeat(N-i)).append("\n");
        }
        System.out.print(sb);
    }
}