charAt( ), 문자열 합치기

이규현·2024년 8월 14일

프로그래머스 문제를 풀다가 문자열의 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()

0개의 댓글