Baekjoon
[Java/Algorithm] 백준-10951 EOF 사용하기 + 성능비교
dev_haha
2023. 11. 11. 23:51
EOF 란?
End of File, 더이상 데이터가 존재하지 않을 경우 반복문을 종료하는 것.
ctrl + Z(윈도우)
ctrl + D(리눅스) 로 종료
3가지 방법이 있다.
1. BufferedReader + StringTokenizer
2. BufferedReader + String.charAt()
3 .Scanner
1. BufferedReader + StringTokenizer
import java.io.*;
import java.util.StringTokenizer;
public class Main
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
String str;
while((str=br.readLine()) !=null) {
st = new StringTokenizer(str, " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
sb.append(a+b).append("\n");
}
System.out.println(sb);
}
}
2. BufferedReader + String.charAt()
import java.io.*;
public class Main
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String str;
while((str=br.readLine()) !=null) {
int a = str.charAt(0) - 48;
int b = str.charAt(2) - 48;
sb.append(a+b).append("\n");
}
System.out.println(sb);
}
}
3. Scanner
import java.io.*;
import java.util.Scanner;
public class Main
{
public static void main(String[] args) throws IOException
{
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
while(sc.hasNext()) {
int a = sc.nextInt();
int b = sc.nextInt();
sb.append(a+b).append("\n");
}
System.out.println(sb);
}
}
성능비교
위부터 순서대로
Scanner
BufferedReader + String.charAt()
BufferedReader + StringTokenizer