Java로 코딩테스트를 볼 때에는 무엇보다 시간을 줄이는 것이 중요하다. 그 중에서 입출력에 대해 이야기해보고자 한다.
입출력 예시
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
System.out.println(t);
sc.close();
}
하지만, 데이터가 들어올 때마다 일일이 받아서 형변환을 해주기 때문에 대량의 데이터 처리 시에는 비효율적이다.
그래서 BufferedReader/BufferedWriter를 많이 쓴다.
입출력 예시
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st=new StringTokenizer(br.readLine(), " ");
int sum=0;
while(st.hasMoreElements()) {
sum+=Integer.parseInt(st.nextToken());
}
bw.write(String.valueOf(sum));
bw.flush();
bw.close();
}
출력 예시
public static void main(String[] args) throws IOException{
StringBuilder sb=new StringBuilder();
sb.append("Hello ");
sb.append("왕왕").append("멍멍");
System.out.println(sb.toString());
}
어떤 입출력을 사용할지 총 정리를 해보자면,