문제
★시간 제한★
- 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 |