방법1. Scanner로 입력 받기
메모리: 14340KB, 시간: 108ms
import java.util.*;
public class Main {
public static void main(String args[]){
Scanner s = new Scanner(System.in);
int x= s.nextInt();
int y= s.nextInt();
if (x>0 && y<10)
System.out.print(x+y);
}
}
방법2. BufferedReader로 입력 받기
메모리: 12888KB, 시간: 72ms
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int x= Integer.parseInt(br.readLine());
int y= Integer.parseInt(br.readLine());
if (x>0 && y<10)
System.out.println(num1+num2);
}
}
Scanner: Space, Enter를 모두 경계로 인식, 원하는 형태로 입력 받아 데이터 가공이 편리.
BufferedReader: Enter만 경계로 인식, 입력 받은 데이터를 원하는 형태로 가공 필요. 메모리가 적게 들고, 속도 빠름. Scanner보다는 BufferedReader를 사용하자.
결론: Scanner에 비해 한번 더 가공이 필요하지만 데이터가 많을 수록 BufferedReader를 통해 입력받는 것이 효율이 좋음
댓글