울음참고 개발공부
article thumbnail
728x90

 

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

 

15552번: 빠른 A+B

첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다.

www.acmicpc.net

 

 


 

[ 문제 조건 ]

 

 

 

[ 정답 ] 

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));
       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());
           int a = Integer.parseInt(st.nextToken());
           int b = Integer.parseInt(st.nextToken());
           bw.write(a+b+"\n");
       }
       bw.flush();
       bw.close();
    }
}

 

 

 


 

 

 

BufferedReader 와 BufferedWriter 를 사용하는 것에 익숙하지 않았다. 

 

아래 참고자료에서 강의들은 내용을 토대로하여 코드의 순서대로 정리해보자!!! 

( 확실하지 않을 수 있음 ) 

 

1.

BufferedReader 객체를 만들어 InputStreamReader 에 입력한 값을 읽는다. 

쉽게 말하면 br 의 역할은 , Scanner sc = new Scanner(System.in); 에서 sc 의 역할이다. 

 

2.

bw 의 역할은 System.out.print() 같은 것이다. 

br 로 읽어들인 값을 실제로 써서 보여주겠다는 것 같다. 

 

3.

br 에서 입력받은 값은 String 이므로 int 로 캐스팅해준다. 

 

4.( for 문) 

 

 

문제 예시에서 보면 처음 입력받을 횟수(br) 를 정하고, 

A+B 를 수행할 값 2개(a,b) 가 필요하다 

 

이때 각각의 수는 StringTokenizer 로 읽어들인다. 

 

마찬가지로 String 값이기 때문에 int 로 캐스팅해주고, bw.wirte() 객체로 작성한다.

이때, 줄바꿈을 위해 "\n" 을 직접 추가한다. 

 

 

5. 

bw.write() 로 쓰여진 값은 쓰여지기만 했지 출력하는 것이 아니다.

 

따라서 bw.flush() 를 통해 출해주고 , 사용한 것들을 close() 로 닫아준다.

 

 

 

 

 

아직 개념이 명확하진않고 그렇구나~ 싶지만 계속 사용하다보면 System.out.println() 처럼 자연스레 작성할 수 있을 것이다 !!! 

 

 

 

테스트 케이스가 많은경우 BufferedReader 와 BufferedWriter 를 사용하여
입력값과 출력값을 더욱 빠르게 연산할 수 있다. 

 

 

 


[ 참고 자료 ]

https://www.youtube.com/watch?v=sPi6Hr4-rPg

 

728x90

'코테연습 > 백준' 카테고리의 다른 글

BAEKJOON | 최댓값 JAVA  (0) 2024.01.26
BAEKJOON | 5597 과제 안 내신 분..? Java  (0) 2024.01.24
profile

울음참고 개발공부

@메각이

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!