알고리즘 풀이

[백준]2438번: 별 찍기 - java 풀이

코디드 2023. 3. 31. 22:31

 

가장 기본적인 별 찍기 문제다

 

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

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();
		
		for(int i=1; i<N+1; i++) {
			for(int j=1; j<i+1; j++) {
				sb.append("*");
			}
			sb.append("\n");
		}
		System.out.println(sb);
	}
}

 

1행에는 한 개, 2행에는 두 개, 3행에는 세 개 이렇게 찍어주면 되므로,

밖의 for문은 N번만큼 반복 되고, 내부의 for문은 행의 숫자만큼 '*' 이 찍히도록 반복되면 된다

그러므로 1행은 j가 1, 2행은 j가 1부터 2까지, 3행은 j가 1부터 3까지 반복되게 j<=i 또는 j<i+1로 범위를 설정해준다.

 

 

이 문제의 경우 N값에 따라 반복문이 높은 빈도수로 실행되다 보니 System.out.println보다는 StringBuilder나 BufferedWriter를 사용해주는게 좋다.