본문 바로가기
JAVA

java Scanner vs BufferedReader (백준 2558번)

by kmsu90 2023. 2. 6.

방법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를 통해 입력받는 것이 효율이 좋음

댓글