728x90
방금 익혔던 Arrays.sort랑 Comparator사용하면 될 듯 !!!
추가로 알아야할 것
다량의 데이터를 받을 때는 split아니면 StringTokenizer 사용해야한다.
- split은 입력 받는 동시에 별다른 처리 없이 배열로 데이터를 받아올 수 있다.
- StringTokenizer의 경우 토큰화 된 문자열을 다시 처리
StringTokenizer의 생성자에서 추가적인 구분자를 명시하지 않을 경우 default 값은 띄어쓰기로 데이터가 구분되기 때문에 필요 시 다른 구분자를 사용할 경우 StringTokenizer st = new StringTokenizer(문자열, 구분자);
- 배열을 생성하며 크기를 정해줄 땐 countTokens() 메소드를 이용해 총 토큰의 수를 리턴
- 그 다음 hasMoreTokens() 메소드가 토큰이 더이상 없을 때 false를 리턴 한다는 것을 이용해 while문을 돌리며 데이터를 저장한다.
- StringTokenizer의 nextToken() 메소드는 단순히 공백자리를 땡겨 채워준다.
성능면에선 split은 정규식을 기반으로 문자열을 자르는 로직으로 동작하기 때문에
단순히 공백 자리를 당겨서 채우는 StringTokenizer가 더 빠르다.
후 정말 어렵구만 !!
BufferedReader 의 기능들 다시 정리해서 notion에 업로드 하기
StringBuilder 사용법도 같이
728x90
'알고리즘 > 백준' 카테고리의 다른 글
2231번 문제 : 분해합 (0) | 2023.03.07 |
---|---|
11651번 문제 : 좌표정렬 2 (0) | 2023.03.06 |
백준 깃허브에 commit 돼있는 거 local로 받아오기 (0) | 2023.02.28 |
백준 알고리즘 1181번 문제 : 단어정렬 (0) | 2023.02.25 |
12월에 백준하면서 쓴 코딩일지 (0) | 2023.02.23 |