inblog logo
|
jjack1
    프로그래머스Java코딩테스트

    [프로그래머스] 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

    RSS·Powered by Inblog