Today
-
Yesterday
-
Total
-
  • 백준 : 빠른 A+B
    코딩테스트 문제 풀이/백준 2023. 11. 21. 00:01

    내 코드

    package baekjoon;
    
    import java.io.*;
    import java.util.StringTokenizer;
    
    public class Main {
        public static void main(String[] args) throws IOException {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            int cnt = Integer.parseInt(br.readLine());
    
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
            while(cnt-- > 0) {
                StringTokenizer sz = new StringTokenizer(br.readLine());
                bw.write(Integer.parseInt(sz.nextToken()) + Integer.parseInt(sz.nextToken()) + "\n");
            }
            bw.flush();
            bw.close();
            br.close();
        }
    }

    BufferedReader , BufferedWriter

    java.io 패키지에 포함되어 있다. 버퍼를 사용하여 효율적으로 데이터를 읽고 쓰기 위해 사용된다. 두 클래스 모두 사용이 끝난 후에 .close() 메소드를 호출하여 정리해주어야 한다. 하지만 try-resources-catch문을 사용하면 try문을 빠져나옴과 동시에 자원이 회수되기 때문에 프로그래머가 close()메소드를 호출하지 않아도 된다. 🔻try-resources-catch 사용 예시

    public class Main {
        public static void main(String[] args) throws IOException {
            try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out))) {
    
                int cnt = Integer.parseInt(br.readLine());
                while (cnt-- > 0 || br.readLine() != null) {
                    StringTokenizer sz = new StringTokenizer(br.readLine());
                    bw.write(Integer.parseInt(sz.nextToken()) + Integer.parseInt(sz.nextToken()) + "\n");
                }
    
            } catch (IOException e) {
                e.printStackTrace();
            }
    	}
    }

    BufferedReader

    입력 스트림에서 텍스트를 읽어들이기 위해 사용되며, 기본적으로 문자 데이터를 처리한다. 버퍼를 사용하여 데이터를 일정량 모아 한 번에 읽기를 수행함으로써 입출력 성능을 향상시킨다.

    BufferedReader br = new BufferedRwiter(new InputStreamReader(System.in);
    br.readLine();
    br.close();

    BufferedWriter

    출력 스트림에 텍스트를 쓰기 위해 사용된다. 버퍼를 사용하여 데이터를 일정량 모아 한번에 쓰기를 수행하여 입출력 성능을 향상시킨다.

    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out);
    bw.write();
    bw.newLine(); // 개행문자 \n 역할
    
    bw.flush(); // 버퍼를 비우고 모아둔 데이터를 출력시킴
    bw.close();

    flush( )를 호출하지 않으면, 버퍼가 가득 차거나 .close( )가 호출되었을때 데이터가 출력(= 출력 스트림에 쓰기 수행)된다.

    '코딩테스트 문제 풀이 > 백준' 카테고리의 다른 글

    백준: 코딩은 체육과목 입니다  (0) 2023.11.22
    백준: 영수증  (0) 2023.11.22
    행성 X3  (0) 2023.11.21
    백준 : 힙 정렬2  (0) 2023.11.21
    백준: 요세푸스 문제  (0) 2023.11.20

Designed by Tistory / Custom by 얼거스