사칙연산 2
Day3 3단계 20231020
6. 15552번 빠른 A+B
- 사칙연산 의 체크리스트 해결 필요
- BufferedReader와 BufferedWriter를 사용하는 예제
- BufferedWriter로 출력할 때는 write()메소드를 쓰며, char타입이나 String타입을 받기 때문에 정수 및 실수형은 형 변환을 해줘야 한다.
- BufferedWriter 대신 System.out.println()을 사용했더니 시간제한(1초) 초과로 실패한다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) {
BufferedReader br;
BufferedWriter bw;
StringTokenizer st;
int a1 = 0;
int b1 = 0;
try {
br = new BufferedReader(new InputStreamReader(System.in));
bw = new BufferedWriter(new OutputStreamWriter(System.out));
int testCase = Integer.parseInt(br.readLine());
//int[] sum = new int[testCase];
for(int i = 0; i < testCase; i++) {
st = new StringTokenizer(br.readLine(), " ");
a1 = Integer.parseInt(st.nextToken());
b1 = Integer.parseInt(st.nextToken());
bw.write(""+(a1+b1)+"\n");
}
bw.flush();
bw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
12. 10951번 A+B - 4
- 입력이 끝날 때까지 루프
- BufferedReader도 close()를 해줘야 좋다(Scanner 처럼)
- 다음 입력이 없을 때 판별 : BufferedReader.readLine() == null 이면 입력 종료
- 만약 StringTonkenizer를 쓴다면 StringTokenizer.countTokens()로 토큰의 수를 확인할 필요가 있다
- 안 그러면 NoSuchElementException이 발생한다.
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) {
BufferedReader br;
BufferedWriter bw;
StringTokenizer st;
int a1 = 0;
int b1 = 0;
String input;
try {
br = new BufferedReader(new InputStreamReader(System.in));
bw = new BufferedWriter(new OutputStreamWriter(System.out));
while((input =br.readLine()) != null) {
st = new StringTokenizer(input, " ");
if (st.countTokens() != 2) {
break;
}
a1 = Integer.parseInt(st.nextToken());
b1 = Integer.parseInt(st.nextToken());
bw.write((a1+b1)+"\n");
}
bw.flush();
bw.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}