현재
[Java][BaekJoon][15552] 빠른 A+B -6 본문
<문제설명>
입력을 받고 출력하는 문제이다.
<코드>
<주의점>
이 문제는 Scanner를 사용해서는 해결할 수 없다.
정확하게 말하자면 해결은 가능하지만 백준문제 사이트에 지정된 시간내에 테스트케이스를 전부 수행할 수 없는것이다.
기본적으로 Scanner의 수행시간은 6.068초
BufferedReader의 수행시간은 0.934이다. (기준이 몇초인가 까지는 못찾겠다...)
단순 수치상으로만 봐도 6배이상이 차이가난다.
Scanner에 익숙해져서 bufferedReader를 사용하지 않았지만, 이번 부터는 BufferReader를 사용하려고한다.
<Scanner와 BufferedReader의 차이점>
일단 Scanner 처럼 .nextInt()로 받는게 없고 전부 br.readLine()으로 String을 받는다.
그래서 int값을 받고 싶을때는 반드시 Integer.parseInt를 통해서 값을 변환해줘야 한다.
그리고 Scanner 에서는 개행없이, Enter와 Space로 입력을 받았지만
split();이라는 명령어가 없는한 buffedReader에서는 Enter로만 입력을 받기에 따로 메소드를 사용해줘야한다.
마지막으로 bw.write로 출력할시 결과값이 System.out.print처럼 모든 값이 붙어서 나오게 된다.
문제의 출력형식과 맞추기 위해서는 bw.newLine();을 통해서 \n 과 같은 효과를 줘야한다.
<문제출처>
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
'알고리즘 > 백준' 카테고리의 다른 글
| [Java][BaekJoon][11022] A+B -8 (0) | 2023.09.07 |
|---|---|
| [Java][BaekJoon][11021] A+B - 7 (0) | 2023.09.07 |
| [Java][BaekJoon][25314] 코딩은 체육과목입니다 (0) | 2023.09.05 |
| [Java][BaekJoon][25304] 영수증 (0) | 2023.09.03 |
| [Java][BaekJoon][8393] 합 (0) | 2023.09.02 |