IT/BaekJoon

[백준/JAVA] 2438번 '별 찍기' 설명 - BufferReader 사용

Buang 2023. 5. 14. 22:55
반응형

1. 문제

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

 

2438번: 별 찍기 - 1

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

www.acmicpc.net


2. 풀이

 

첫째 줄에는 별 1개,

둘째 줄에는 별 2개,

N번째 줄에는 별 N개를 찍히도록 하는 문제다.

 

 

for문이 총 두 번 있어야 하는 문제다.

 for (int i = 1; i <= count; i++) {

- 사용자가 입력한 숫자만큼 줄이 나와야 한다.

예) 5를 입력했다면 5줄이 출력되어야 한다.

 

 for (int i = 1; i <= count; i++) {

            for (int stars = 1; stars <=i; stars++ ) {
                System.out.print ("*");
            }

 

- 한 줄 씩 증가할 때 마다 별의 개수도 증가한다.

예) 첫 번째 줄에는 별 한 개, 두 번째 줄에는 별 두 개, 세 번째 줄에는 별 3개 이런 식이다. 

 

        for (int i = 1; i <= count; i++) {

            for (int stars = 1; stars <=i; stars++ ) {
                System.out.print ("*");
            }
            System.out.println();
        }

한 줄에 별을 다 찍고 줄바꿈이 있어야 한다.

이를 위해 두 번째 for문 바깥에 System.out.prinln();을 작성해서

줄바꿈을 해주었다.

 

3. 코드

 

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)); //Scanner와 유사

        int count = Integer.parseInt(br.readLine());

		for (int i = 1; i <= count; i++) { //줄의 개수를 1부터 N까지 반복

            for (int stars = 1; stars <=i; stars++ ) { // 각 줄에 해당하는 별을 찍는 반복
                System.out.print ("*"); // print로 써야지 println으로 쓰면 안된다.
            }
            System.out.println(); // 각 줄의 별을 찍은 후 줄바꿈
        }
    }
}

 

전체 코드는 위와같다.

 

 

 

 

 

 

반응형