[프로그래머스] 11. 문자열 섞기

최재원's avatar
Mar 03, 2025
[프로그래머스] 11. 문자열 섞기
💡

문제 설명

길이가 같은 두 문자열 str1과 str2가 주어집니다.
두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요.
💡

제한사항

  • 1 ≤ str1의 길이 = str2의 길이 ≤ 10
    • str1과 str2는 알파벳 소문자로 이루어진 문자열입니다.

입출력 예

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; } }
notion image
notion image

더 나은 코드

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

jjack1