백준 알고리즘/반복문

백준 2438번 :: 별 찍기 - 1

Sun720 2022. 5. 24. 10:27

▶ 문제

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

 

2438번: 별 찍기 - 1

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

www.acmicpc.net

 설명

1개씩 별이 늘어나면서 트리 반쪽 모양을 출력하는 문제이다.

처음 반복문엔 1개를, 두번째 반복문엔 1+1개를, 세번째 반복문엔 2+1개를... 이런 식으로 늘려나가야 하고 그 반복을 5번 하면 된다.

전체 5번 반복 하는 것을 먼저 만들고, 그 반복문 안에 한 줄씩 출력되는 별의 개수만큼 반복시키는 반복문을 하나 더 만들어야 한다.

sum을 넣어야 하나 맨 처음에는 그렇게 생각했는데 한 줄 출력할 때 반복문으로 출력하기 때문에 그럴 필요가 없었다.

문제 풀이

🌱 풀이.

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

public class Main {

	public static void main(String[] args) throws NumberFormatException, IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		int rowCnt = Integer.parseInt(br.readLine());
		
		for (int i=0; i< rowCnt; i++) {
			for (int j=0; j<= i; j++) {
				bw.write("*");
			}
			bw.newLine();
		}	
		br.close();
		bw.flush();
		bw.close();
	}

}

입출력에 BufferedReader와 BufferedWriter를 사용하였다.

출력할 줄 수를 의미하는 rowCnt를 입력 받고

rowCnt를 이용해 중첩 for문을 작성하면 된다.

newLine( )은 개행을 의미한다.

 

728x90
반응형