🔗문제링크

문제링크

문제 설명

class Solution {
    public String solution(String my_string, String 	overwrite_string, int s) {
        StringBuilder sb = new StringBuilder(my_string);
        sb.replace(s, s + overwrite_string.length(), overwrite_string);
        return sb.toString();
    }
}

📖 공부

String은 불변객체이다. String 객체는 한번 생성되면 변경할 수 없으므로, +를 사용해서 문자를 연결하면 연결할 때마다 새로운 문자열 객체가 생성된다. 또한 이전에 있던 문자열은 JVM의 GC가 처리하게 된다.
String의 길이는 .length()로 구할 수 있다

StringBuilder

StringBuilder는 String과 다르게 값이 변할 수 있다.
StringBuilder은 문자열을 더할 때 새로운 객체를 생성하는 것이 아니라 기존의 데이터에 더하는 방식을 사용하기 때문에 속도가 빠르고 상대적으로 부하가 적다.

sb.replace(int index1, int index2, String str);

StringBuilder의 replace를 사용한다면, StringBuilder에서 인자로 받은 문자열에서 index1과, index2까지의 위치한 문자열을 str로 대체한다

참고링크

profile
백엔드 프로그래밍을 공부하고 있습니다. AWS, 클라우드 환경에 대해 관심이 많습니다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN