본문 바로가기
[ 다먹살 ]/- Coding

[백준] 15552 빠른 A+B

by 엉망으로살기 2021. 9. 22.
반응형

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

 

for문 카테고리에서는 전부 쉬운 문제들이었다. 이 15552번 같은 경우에는 내가 기존에 입출력으로 사용했던 Scanner를 사용하면 무조건 시간초과가 뜨는 문제였다.

다른 입출력방법을 찾아보다가 Buffer와 StringBuilder를 사용하는 법을 알게 되었는데, 내부적으로 동작하는 속도가 이 방법이 더 빠르다고 하니 숙지해놓으면 나중에 한 번은 쓸 수 있을 것 같다. for문 카테고리 끗.

 


문제 및 입출력

 


코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
 
public class Main
{
public static void main(String[] args) throws Exception
{
        // BufferedReader 객체 생성
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
        // StringTokenizer 객체 선언
        StringTokenizer st = null;
        st = new StringTokenizer(br.readLine());
        int t = Integer.parseInt(st.nextToken());
        
        // StringBuilder 선언
        StringBuilder sb = new StringBuilder();
        
        for(int i=0; i<t; i++)
        {
         st = new StringTokenizer(br.readLine());
         int a = Integer.parseInt(st.nextToken());
         int b = Integer.parseInt(st.nextToken());
         sb.append(a+b);
            sb.append("\n");
        }
        
        System.out.println(sb);
        br.close();
    }
}

 

반응형

댓글