Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 변수
- 백엔드
- 다형성
- 개발자
- 파이팅
- SSR
- 인터페이스
- 메서드
- 코딩
- 문자 단위 스트림
- 새벽공부
- 예외 처리
- 보조 스트림
- exception
- 자바
- 인스턴스
- throws
- 코린이
- 상속
- 자료형
- 바이트 단위 스트림
- MPA
- FileInputStream
- try-catch
- 배열
- Java
- 초보개발자
- ArrayList
- node.js
- 졸리다
Archives
- Today
- Total
SHUSTORY
[ 백준 ] 15552번 : 빠른 A + B _ JAVA 본문
728x90
문제
- BuffredWriter 에 대해 기록하고자 이 문제를 기록한다.
BufferedWriter
- 버퍼를 사용하지 않는 입력은, 키보드의 입력이 키를 누르는 즉시 바로 프로그램에 전달된다.
- 버퍼를 사용하는 입력은, 키보드의 입력이 있을 때마다 한 문자씩 버퍼로 전송한다.
버퍼가 가득 차거나 개행 문자가 나타나면 버퍼의 내용을 한 번에 프로그램에 전달한다.
버퍼를 사용하는 입출력의 속도가 더욱 빠르다.
- BufferedReader의 경우 개행문자만 경계로 인식하고 입력받은 데이터가 String으로 고정되기 때문에
데이터를 따로 가공해야 하는 경우가 많다.
- BufferedWriter 선언
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
- write( )
- bw.write( ) 를 통해 출력할 문자를 작성할 수 있다.
- BufferedWriter는 System.out.println(""); 처럼 출력과 동시에 개행을 해 주지 않기 때문에,
개행을 위해서는 newLine( ); 혹은 bw.write("\n");을 사용해야 한다.
- bw.flush( )
- bw.write( ) 를 작성해주었다고 콘솔에 바로 출력되는 것은 아니고, bw.flush( ) 를 통해
출력하고자 하는 문자열을 출력할 수 있다.
- bw.write( ) 를 작성해주었다고 콘솔에 바로 출력되는 것은 아니고, bw.flush( ) 를 통해
- bw.close( )
- 출력이 끝났으면, close( ) 를 통해서 스트림을 닫아주면 된다.
- 만약 flush( ) 를 작성하지 않고 close( ) 해준다면 문자열이 출력되지 않고 스트림이 닫히게 된다.
- BufferedWriter도 BufferedReader와 마찬가지로 IOException 예외 처리를 반드시 해 주어야 한다.
내 풀이
import java.io.*;
public class Main {
public static void main(String[] args) 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 = 0; i < T; i++) {
String st = br.readLine();
String[] tokens = st.split(" ");
int sum = Integer.parseInt(tokens[0]) + Integer.parseInt(tokens[1]);
bw.write(sum);
bw.newLine();
}
br.close();
bw.flush();
bw.close();
}
}
public class Main {
public static void main(String[] args) 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 = 0; i < T; i++) {
String st = br.readLine();
String[] tokens = st.split(" ");
int sum = Integer.parseInt(tokens[0]) + Integer.parseInt(tokens[1]);
bw.write(sum);
bw.newLine();
}
br.close();
bw.flush();
bw.close();
}
}
- 보다시피.. 출력이 왜이러는거죠??? 이거 아니야? 나 뭐 잘못했지? ㅋㅋㅋㅋ ㅜㅜ 하.. 채찍피티한테 물어보기!
- 아! BufferedWriter도 BufferedReader와 마찬가지로 문자열만 취급하기 때문에,
인자로 받은 int형 자료형 변수 sum 값을 문자열로 출력한다는 것이다.
바보! 그것도 못해!! 그런건 좀 알아서 하란말이야!! ㅋㅋ.. ㅎㅎ.. ㅠ - 다시 수정해보면, bw.write(sum) 코드를 bw.write(String.valueOf(sum))과 같이 sum을 문자열로 변환하면 된다.
- 아! BufferedWriter도 BufferedReader와 마찬가지로 문자열만 취급하기 때문에,
- int -> String 형변환
- Integer.toString( )
- String.valueOf( )
수정한 코드
import java.io.*;
public class Main {
public static void main(String[] args) 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 = 0; i < T; i++) {
String st = br.readLine();
String[] tokens = st.split(" ");
int sum = Integer.parseInt(tokens[0]) + Integer.parseInt(tokens[1]);
bw.write(String.valueOf(sum));
bw.newLine();
}
br.close();
bw.flush();
bw.close();
}
}
public class Main {
public static void main(String[] args) 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 = 0; i < T; i++) {
String st = br.readLine();
String[] tokens = st.split(" ");
int sum = Integer.parseInt(tokens[0]) + Integer.parseInt(tokens[1]);
bw.write(String.valueOf(sum));
bw.newLine();
}
br.close();
bw.flush();
bw.close();
}
}
쫘자잔 ~~
'코딩테스트 > JAVA' 카테고리의 다른 글
[ 백준 ] 2439번 : 별 찍기 - 2 _ JAVA (0) | 2023.11.29 |
---|---|
[ 백준 ] 11021(2)번 : A + B - 7(8) _ JAVA (1) | 2023.11.28 |
[ 백준 ] 10950번 : A + B - 3 _ JAVA (1) | 2023.11.28 |
[ 백준 ] 2739번 : 구구단 _ JAVA (0) | 2023.11.27 |
[ 백준 ] 2480번 : 주사위 세개 _ JAVA (0) | 2023.11.27 |