프로그래머스 문제를 풀다가 문자열의 index를 확인할 수 있는 함수를 찾음
String 클래스의 함수인 charAt() 함수이다.
class Solution {
public String solution(String my_string, int n) {
String answer = "";
String sum ="";
for(int i=0; i<my_string.length(); i++){
for(int j=0; j<n; j++){
sum += my_string.charAt(i);
}
}
answer = sum;
return answer;
}
}
위와 같이
charAt()을 이용해 해결하였다.
문자열을 합칠 때 (+) 연산을 이용하는 것은 좋지 않기 때문에 StringBuilder 클래스를 이용해 합치는 것이 더 좋은 방법이다.
링크: https://dkswnkk.tistory.com/584
요약하자면 String +연산이 일어나는 과정은 컴파일 과정에서 StringBuilder 클래스를 만든 후 다시 문자열로 반환하기 때문에 메모리가 낭비되고 성능이 저하된다.
- 결론: 문자열 합치기 연산이 필요하다면 StringBuilder를 사용하는 것이 성능면에서 더 좋다
StringBuilder 링크: https://da2uns2.tistory.com/entry/Java-StringBuilder-%EC%82%AC%EC%9A%A9%EB%B2%95%EA%B3%BC-%EC%A3%BC%EC%9A%94-%EB%A9%94%EC%86%8C%EB%93%9C
StringBuilder sb = new StringBuilder(): 객체 선언
StringBuilder sb = new StringBuilder("aaa"): 문자열을 바로 넣을 수도 있다.
주요 메소드
append() insert() replace() subString() deleteCharAt()