Progamming/BAEK JOON > 백준의 알고리즘

[백준] 2438번 : 별 찍기 - 1 - JAVA

코딩밤 2023. 3. 2. 15:17
300x250

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

 

2438번: 별 찍기 - 1

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

www.acmicpc.net

 

문제

백준 알고리즘 2438번 이미지

입력 : N

기본적인 반복문 문제입니다.

 

풀이
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int N = sc.nextInt();

        for(int i = 1; i <= N; i++) {		// 줄 반복
            for(int j = 1; j <= i; j++) {	// 별 반복 i의 증가수 만큼 별 갯수 증가
                System.out.print("*");
            }
            System.out.println();		// 별 생성 후 줄 바꿈
        }
    }
}

 

저도 무의식 적으로 for문 안에 Sysout.out.println("*")을 썼다가 잉? 했기 때문에

무의식 조심하세요. 큰 수나 무한루프였다면 큰일입니다..

 

 

풀이 2
import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int N = Integer.parseInt(br.readLine());  // readLine() 을 사용할 경우 예외처리를
					    	  // 줘야 하지만 throws IOException 로 많이 대체합니다.
        for(int i = 1; i <= N; i++){
            for(int j = 1; j <= i; j++){
                bw.write("*");		// System.out.print();
            }
            bw.newLine();		// System.out.println();
        }
        br.close();
        bw.flush();		// 버퍼에 남아있는 데이터를 모두 출력(정리)
        bw.close();		// 스트림을 닫아 메모리 확보
    }
}

 

Buffered를 이용한 입출력을 사용했습니다.

BufferedWriter는 출력할 문자가 많아질수록 다른 출력문에 비해 빠른 성능을 보여줍니다.

 

300x250