백준 2667문제를 풀다가 알게된 사실
Scanner보다 BufferedReader가 다루긴 까다로워도 속도가 빠르다는 이야기를 접한 후로 부터는 BufferedReader를 사용하고 있다.
이제까지는 입력 숫자들이 공백으로 구분되어져 있어서 무난하게 써왔지만
이번문제에서는 숫자간 공백이 존재하지 않았다.
항상 BufferedReader로 한번에 읽고, readLine()함수로 줄마다 읽어오고,
StringTokenizer객체를 이용해서 공백으로 문자를 구분하여 입력값을 받아온 나로써는 입력값 받아오기부터 적잖이 당황을 했다..
String으로 받아온 값들을 charAt()함수를 써서 가져왔지만 int형으로 변환이 어려웠다.
검색끝에, char형에서 '0'을 빼면 된다는 것을 알아냈다.
char-'0' 을 이용하면 아스키코드 값을 알필요 없이 int형으로 변환이 가능하다는 것..
Character.getNumericValue(input.charAt(i)) 도 가능하다는 것을 알게 되었다!