다잘하고싶어

[알고리즘]BufferedReader 사용 본문

알고리즘

[알고리즘]BufferedReader 사용

챙영잉 2022. 10. 6. 17:26

Scanner 보다 훨씬 처리속도 빠르다. 코딩테스트 준비중이라면 그냥 이거 쓰기.

선언 방법 암기

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

입력시에는  readLine(); 이라는 메소드를 사용.

String으로 리턴 값이 고정되어 있으므로, 다른 타입으로 입력을 받고자 한다면 반드시 형변환이 필요하다.

(+) 예외처리를 반드시 필요( throws IOException 사용하기 )

 

 

데이터 가공 방식 암기


BufferedReader를 통해 읽은 데이터는 개행 문자 단위(Line 단위)로 나누어지므로

이를 공백 단위로 데이터를 가공하고자 할때는 StringTokenizer 나 String.split() 함수 사용하기.

  • StringTokenizer의 nextToken() 함수를 쓰면 readLine()을 통해 입력 받은 값을 공백 단위로 구분하여 순서대로 호출할 수 있다.
  • String.split() 함수를 사용하면, 배열에 공백 단위로 끊어 데이터를 저장하여 사용할 수 있다.
public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //선언

        String s = br.readLine();
        int i = Integer.parseInt(br.readLine());

        //1. StringTokenizer 사용

        StringTokenizer st = new StringTokenizer(br.readLine());

        int N = Integer.parseInt(st.nextToken());
        int M = Integer.parseInt(st.nextToken());
        
        //2. .split 사용

        String[] arr = s.split(" ");
    }