시간제한 때문에 Scanner로 풀 수 없는 알고리즘 문제들이 있다. 그럴 땐 Buffer를 이용한 입력으로 해결할 수 있다. Buffer는 입력된 데이터를 하나하나 바로 전달하지 않고 버퍼에 묶어서 한 번에 보내서 데이터 효율이 좋아 빠르다
사용법
1. 다음 패키지를 import 한다. (예외 처리를 위해 IOException도 import 한다.)
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
2. 버퍼를 생성한다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
3. String을 생성하여 다음 입력 한 줄의 내용을 가져온다.
String A = br.readLine();
4. 끝!
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String A = br.readLine();
}
}
유의사항
1. Buffer는 String 형태로 가져오기 때문에 int로 가져오고 싶으면 다음과 같이 가져온다.
Integer.parseInt(br.readLine())
2. Buffer는 데이터를 한 줄씩 가져오기 때문에 한 줄에 여러 데이터가 있으면 StringTokenizer를 이용하여 토큰으로 나눠준다.
다음 글을 참고하자.
2022.01.16 - [자바/이론] - [JAVA] StringTokenizer를 이용한 문자 나누기
[JAVA] StringTokenizer를 이용한 문자 나누기
1. StringTokenizer 앞서 Buffer를 이용한 입력과 같이 한 줄의 입력을 나눠주고 싶을 때 StringTokenizer를 이용한다. StringTokenizer는 String을 작은 Token으로 나눠준다. 1. 다음을 import 해 준다. import..
comibird.tistory.com