백준 도전기(빠른 A+B)
> 조건
시간제한은 1.5초다. 즉 1500ms 이내여야 한다.
Scanner 사용하면 시간초과된다. 스캐너는 너무 느리다.
System.out.printn 도 사용하면 시간초과된다.
성능을 위해서 이제까지 써왔던 Scanner 대신 버퍼를 사용해야한다.
버퍼에 대해서는 따로 공부를 진행하였고,
BufferedReader 와 BufferedWriter 그리고,
빈 문자열 " "을 위해 StringTokenizer와 Split(문자열)을 사용하여 주었다.
코드
package backjun_for;
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 for_15552 {
public static void main(String[] args) throws Exception, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int t = Integer.parseInt(br.readLine());
StringTokenizer st;
for(int i=0; i<t; i++) {
st = new StringTokenizer(br.readLine()," ");
bw.write((Integer.parseInt(st.nextToken()) + Integer.parseInt(st.nextToken()))+ "\n");
}
br.close();
bw.flush();
bw.close();
}
}
입출력을 버퍼로 하였고 int t(테스트케이스)의 입력을 받아 StringTokenizer(st)로 토큰화 하여 반복문 for에서 t 만큼 증가시킬때
입력을 t케이스만큼 더 받는다. 공백란도 포함해주자.
이제 출력 bw.wirte로 문자열을 int 로 바꿔주면 된다.
Author And Source
이 문제에 관하여(백준 도전기(빠른 A+B)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jaeilnet/백준-도전기빠른-AB저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)