본문 바로가기
BaekJoon

15552번 : 빠른 A+B

by 스퀴시 2020. 3. 12.
728x90
SMALL

이 문제는 간단한 A+B이지만, 시간제한을 두어서 빠르게 처리하도록 문제를 의도하였다. 

 

그래서 위 사진 처럼 힌트를 주었다. 

 난 위 언어 중에서, java를 사용해서 이 문제를 활용 하였다. 

 

우선 BufferedReader와 BufferedWriter에 대해 알아 보았다.

 

BufferReader

BufferedReader는 Enter만 경계로 인식하고 받은 데이터가 String으로 고정되기때문에 입력받은 데이터를 가공하는 작업이 필요할 경우가 많다. Scanner에 비해 다소 사용하기 불편할 수 있다. 하지만 많은 양의 데이터를 입력받을경우 BufferedReader를 통해 입력받는 것이 효율면에서 훨씬 낫다. 입력시 Buffer 메모리를 줌으로써 작업속도 차이가 많이 난다고 한다.

 

BufferWriter

일반적으로 출력을할때 System.out.println(""); 방식을 사용한다. 적은양의 출력일 경우 성능차이가 미미하지만 많은 양의 출력에서는 입력과 마찬가지로 Buffer를 활용해주시는것이 좋다. 

 BufferedWriter 

<code>

package hello;

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


public class hello{
    public static void main(String[] args) throws IOException{ //예외처리 해줘야함
        
               
//    	InputStream in = System.in;			
//    	InputStreamReader reader = new InputStreamReader(in);
//    	BufferedReader br = new BufferedReader(reader);
        // 위는 따로 선언 법 , 아래는 합쳐서 선언하는 법
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        
        
    	int testcase = Integer.parseInt(br.readLine());
    	
    	//Scanner와 BufferedReader를 같이 쓰면 안된다.
    	
    	for(int i=0;i<testcase;i++)
    	{
    	String s = br.readLine();
    	
    	StringTokenizer st = new StringTokenizer(s);
    	
    	int a = Integer.parseInt(st.nextToken()); //공백단위로 추출
    	int b = Integer.parseInt(st.nextToken()); //공백단위로 추출
    	//String array[] = s.split(" "); //string으로 split
    	
    	bw.write((a+b)+"\n");
    	
    	}        
    	
    	bw.flush();
    	bw.close();
    	br.close();
    	
    
    }
}
LIST

'BaekJoon' 카테고리의 다른 글

1003번 : 피보나치 함수  (0) 2020.02.01
1002번 : 터렛  (0) 2020.01.31