본문 바로가기

카테고리 없음

[백준 BAEKJOON / 자바 JAVA] 15552번 : 빠른 A + B

Q) BAEKJOON / JAVA / 15552 : 빠른 A + B

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 반복문

for (초기화; 조건식; 증감식) {	
	// 조건식이 True일 때 수행될 문장 작성
}

※ 주의사항

1. 시간제한 1500ms 이내 출력

2. Scanner 사용 시 시간 초과
   => 구문분석을 위해 내부적으로 정규식을 거치므로 시간 초과
   
3. System.out.println 사용 시 시간 초과
   => 호출 횟수 증가로 인한 시간 초과

A)

 - [1] BufferedReader + BufferedWriter

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 선언
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		//BufferedWriter 선언
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		//readLine()활용 행 읽어오기
		//parseInt()활용 정수형으로 변환
		//N에 대입
		int N = Integer.parseInt(br.readLine());
		
		//StringTokenizer 선언
		StringTokenizer st;
		
		//for 반복문 사용
		//i ~ N만큼 반복
		for(int i = 0; i < N; i++) {
			
			//readLine으로 행 읽어오기
			//StringTokenizer 활용 문자열 토큰 단위로 분할
			st = new StringTokenizer(br.readLine(), " ");
			
			//nextToken()활용 토큰 값 가져오기
			//parseInt()활용 정수형으로 변환
			//"\n" 활용 줄바꿈
			//bw.write()활용 출력
			bw.write(Integer.parseInt(st.nextToken()) + Integer.parseInt(st.nextToken()) + "\n" );
		}
		
		//BufferedReader 종료
		br.close();
		
		//BufferedWriter 비우기
		bw.flush();
		//BufferedWriter 종료
		bw.close();
	}
}