경로 : java.util.Scanner
파일, 입력 스트림 등에서 데이터를 읽어서 구분자로 토큰화하고 다양한 타입으로 형변환해 리턴하는 클래스
방식
Scanner(File source)
Scanner(InputStream source)
Scanner(String source)
장점
입력 스트림을 다루는 방법을 몰라도 입력을 처리할 수 있다.
데이터 형변환이 가능해서 편리하다.
단점
대량의 데이터 처리 시에 수행시간이 비효율적이다.
주요 메소드
nextInt()
nextDouble()
next()
nextLine()
White space - \t, ‘ ‘, \n
String으로 받은 입력을 char[]로 바꾸는 법
String str = in.readLine();
char[] ch = str.toCharArray();
StringTokenizer을 이용해서 개수에 맞춰서 nextToken으로 입력 크기만큼 반복
setLength를 쓰면 반복내용 제외할 때 쓰면 편리
문자열 조작을 지원
자바에서 상수로 취급되는 문자열을 조작 시마다 새로운 문자열이 생성되는 것을 방지해줌
append() 로 추가해서
toString()으로 String으로 만든다.
setLength로 불필요한 부분을 제거한 후 출력할 수 있다.
알고리즘을 풀 때 출력할 때 속도적인 측면에서 StringBuilder와 BufferedWriter를 잘 골라서 써야한다고 생각한다.(주어진 상황에 따라서 다르다. 출력 속도 정리를 보면 언제 뭘 써야할지 느낄 수 있다.)
FLAT하게 생각하기
단계별로 생각하면서 현재 단계에서 처리안하는 것들은 덩어리로 생각하기.