본문 바로가기
백준 문제 풀이/반복문

(#15552 Java) 빠른 A+B

by _비니_ 2023. 7. 29.
문제

시간 제한

  • Java 8: 1.5 초
  • Java 8 (OpenJDK): 1.5 초

 

문제 해결

위 문제는 빠른 출력을 위해 Scanner 대신 BufferReader, BufferWriter 를 이용해 해결해야 한다.

 

<Buffer 사용한 코드>

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

<Buffer를 int인 경우 사용할 때>

int T = Integer.parseInt(br.readLine());

- String 타입이므로 int형으로 형변환을 해줘야 함!!  ( Interger.parseInt() ) 사용★

 

<for문>

 

- StringTokenizer를 사용해 문자열을 쪼개 입력받은 수를 분리해 각각 저장 !!

StringTokenizer st = new StringTokenizer(br.readLine()); //문자열 쪼개기

// 각각 a,b에 넣어주기
int a = Integer.parseInt(st.nextToken()); 
int b = Integer.parseInt(st.nextToken());

 

<컴파일 에러>

예외 처리를 하지 않아 컴파일 에러가 뜸.

예외처리 throws IOException 를 추가한 후 컴파일 성공!!!!

 

코드
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[] atgs) 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 = 1; 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();
	}
}
반응형

'백준 문제 풀이 > 반복문' 카테고리의 다른 글

(#2438 Java) 별 찍기 - 1  (0) 2023.07.29
(#11021 Java) A+B -7  (0) 2023.07.29
(#25314 Java) 코딩은 체육과목 입니다.  (0) 2023.07.29
(#25304 Java) 영수증  (0) 2023.07.27
(#8393 Java) 합  (0) 2023.07.26