만족은 하되 안주하지는 말자

기록해야 기억한다

java stringbuilder 2

[JAVA] 문자열 압축

문제 https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 내 풀이 import java.util.*; class Solution { public int solution(String s) { int answer = s.length(); int maxLength = s.length() / 2; for (int i=1; i

[Java] 문자열 붙이기에 반드시 StringBuilder 를 안해도 된다

서론 개발을 하다가 멘토님께 알게 된 사실을 정리한다. 사실 나는 문자열 붙이기를 할 때, '+' 를 활용하면 메모리 낭비가 너무 커질 수 있어 지양해야한다는 생각을 가지고 코드를 작성해왔다. 이 주제는 상당히 오래전부터 자바를 공부하는 우리 컴공생들에게 (면접질문 등으로) 자주 논의되던 이야기였다. 문자열 붙이기에 '+' 를 이용하지말아야한다는 근거 String 객체는 불변 객체이다. 즉 한번 객체가 생성되면 그 객체 내용을 변경하는건 불가능하다. 그래서 우리가 한 문자열을 다른 문자열과 합치게 되면 기존 문자열의 내용이 변하는게 아니라 새로운 문자열이 생성된다. 그리고 이제 참조되지않는 (아래 그림의 경우 "Hello") 문자열은 더이상 어느 코드에서도 참조되지않으므로 GC(Garbage Collec..