입출력 예
str1 | str2 | result |
"aaaaa" | "bbbbb" | "ababababab" |
코드
class Solution {
public String solution(String str1, String str2) {
String answer = "";
for(int i = 0; i < str1.length(); i++) {
answer += str1.charAt(i);
answer += str2.charAt(i);
}
return answer;
}
}


더 나은 코드
class Solution {
public String solution(String str1, String str2) {
char[] chars1 = str1.toCharArray();
char[] chars2 = str2.toCharArray();
StringBuilder sb = new StringBuilder();
for (int i=0; i < chars1.length; i++) {
sb.append(chars1[i]).append(chars2[i]);
}
return sb.toString();
}
}


- 첫 번째처럼 코드를 짜면 String Constant Pool에 필요 없는 문자열이 계속 저장된다
- 그리고 반복문 마다 캐스팅을 실행하기 때문에 느려질 수 있다
- 두 번째처럼 코드를 짜면 StringBuilder가 변경 가능한 문자열을 만들기 때문에 필요 없는 문자열이 계속 저장되지 않는다.
- 그리고
Share article