백준/Java

[백준 자바] 2739번(구구단) | StringBuffer 클래스

gamzaggang7 2024. 3. 3. 13:10
728x90

난이도 - 브론즈 5

문제

N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.

입력

첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다.

출력

출력형식과 같게 N*1부터 N*9까지 출력한다.

 


 

728x90

 

1. for문으로 한줄씩 출력

import java.io.*;

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

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

        for (int i = 1; i < 10; i++){
            bw.write(t + " * " + i + " = " + t * i + "\n");}

        br.close();
        bw.flush();
        bw.close();
    }
}

제일 간단한 방법이지만 다른 방법을 사용하면 시간을 더 줄일 수 있다.

 

 

2. StringBuffer 사용

StringBuffer 클래스도 String클래스와 같이 문자열을 다룬다. 문자열을 저장하는 가변 버퍼를 가지고 있기 때문에 저장된 문자열의 수정이 가능하다.

자세한 설명은 이 게시물 참고 (https://gamzaggang7.tistory.com/76)

 

[Java] StringBuffer 클래스란?

StringBuffer 클래스 StirngBuffer 클래스는 String 클래스와 같이 문자열을 다루며, java.lang 패키지에 포함되어 있다. StringBuffer와 String String 객체의 경우 내부의 문자열을 수정할 수 없다. 하지만 StringBuff

gamzaggang7.tistory.com

import java.io.*;

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

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

        StringBuilder sb = new StringBuilder();

        for (int i = 1; i < 10; i++) 
            sb.append(t).append(" * ").append(i).append(" = ").append(t*i).append("\n");
        
        bw.write(sb.toString());

        br.close();
        bw.flush();
        bw.close();
    }
}

.append() 메소드를 이용하여 구구단을 버퍼에 덧붙이고 한번에 출력했다.

728x90