본문 바로가기

알고리즘/백준

[백준] 15552 - 빠른 A+B

반응형

15552번 문제(1)
15552번 문제(2)

 

처음에는 a, b 변수를 따로 배열로 해서 하려고 했는데 생각해보니 이번 문제는 BufferedReader와 BufferedWriter를 이용해서 풀어야하는 문제라 그렇게 풀 수가 없었다. 그래서 String 변수 하나에 넣어서 StringTokenizer로 분리시키는 방식으로 하려고 했는데 이 역시 오류가 나서 이것저것 찾아보니 StringTokenizer(String str, String delim) 으로 문자열을 바로 구분자로 나눌 수 있게 하는 방식이 있다는 것을 알게 되었다. 

그리고 BufferedWriter로 write할 때 StringTokenizer의 메서드인 nextToken()을 이용하고 이걸 Integer.parseInt()를 이용해 int로 만들어 더하기를 해주면 되는 거였다.

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

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 t = Integer.parseInt(br.readLine());

        for(int i = 0; i<t; i++){
            StringTokenizer st = new StringTokenizer(br.readLine(), " ");
            bw.write(Integer.parseInt(st.nextToken()) + Integer.parseInt(st.nextToken())+ "\n");
        }
        br.close();

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

여태 Scanner 클래스 위주로만 문제를 풀어와서 익숙하지 않아서 많이 헤맸다. 가능하면 BufferedReader도 사용해서 풀어보도록 노력해야겠다...

반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 11022 - A+B(8)  (0) 2024.02.06
[백준] 11021 - A+B(7)  (0) 2024.02.05
[백준] 25314 - 코딩은 체육과목 입니다  (0) 2024.02.03
[백준] 25304 - 영수증  (0) 2024.02.02
[백준] 8393 - 합  (0) 2024.02.01