Cute Apple
본문 바로가기
개발/Algorithm

[Java] StringBuilder 와 StringTokenizer

by 미댕댕 2022. 7. 8.

백준 코테를 준비하다가 문자열에 관련된 문제들을 많이 만나게 되었는데

System.out.println() 으로 출력을 해왔던 녀석들이 시간과 메모리를 많이 잡아먹는다고 합니다.(for문을 이용한 출력)

따라서 StringBuilder 를 사용하여 한번에  쌓아놓고 출력을 하는것이 효율적이라는것을 알게되어

기록용으로 포스팅을 진행하였습니다.

 

StringBuilder

  • java.io.BufferedReader 클래스
  • 모두 String 으로 읽기때문에 별도의 처리 필요 (parseInt 등등)
  • Buffer를 이용하기 때문에 Scanner 에 비해 속도가 빠름
  • IOException 처리
메소드 내용
append() 문자열 끝에 주어진 매개값을 추가
insert(int offset,...) 문자열 중간에 주어진 매개값을 추가
delete(int start, int end) 문자열의 일부분을 삭제
deleteCharAt(int index) 문자열에서 주어진 index의 문자를 삭제
replace(int Start, int End, String str) 문자열의 일부분을 다른 문자열로 대치
reverse() 문자열의 순서를 뒤바꿈
setCharAt(int index, char ch) 문자열에서 주어진 index의 문자를 다른 문자로 대치

 

StringTokenizer

  • BufferdReader 를 통해 들어온 데이트는 Line 단위로 나누어짐
  • 이를 공백단위로 가공하기위해 사용
  • 구분자에 의해 구분되는 덩어리를 Token 이라고 함
StringTokenizer st = new StringTokenizer("문자열", "구분자");
리턴타입 메소드 내용
int countTokens() 꺼내지않고 남은 토큰수
boolean hasMoreTokens() 남아있는 토큰이 있는지 여부
String nextToken() 토큰을 하나씩 꺼내옴
반응형

'개발 > Algorithm' 카테고리의 다른 글

백준 문제풀이 계획  (0) 2022.07.07

댓글