자료구조 & 알고리즘/프로그래머스 (Java)

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

오징어달료 2024. 1. 26. 04:15

코딩 기초 트레이닝
난이도 : Lv.0

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

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

입출력 예

str1 str2 str3
"aaaaa" "bbbbb" "ababababab"

Solution

class Solution {

    public String solution(String str1, String str2) {
        String answer = "";
        char[] temp1 = str1.toCharArray();
        char[] temp2 = str2.toCharArray();
       
        for(int i = 0; i < temp1.length; i++){
            
            answer += temp1[i];
            answer += temp2[i];
            
        }
    
        return answer;
    }
}

 

해설
  주어지는 문자열을 조작할 수 있어야 한다. String 형식의 str1과 str2의 문자열을 하나씩 처리해야지 문제를 풀수가 있다.
문제를 풀기 위해서 문자열을 배열로 바꾸는 toCharArray()를 사용했다. 여기서 문자를 서로 번갈아 가며 출력해야하는데 문자열의 길이가 다르다면 이것도 고려해야 겠지만, str1과 str2의 문자열 길이가 같기 때문에 str1의 문자열 길이를 기준으로 반복하도록 설정했다.  최종적으로 출력하는 answer 문자열에 toCharArray()로 분리한 문자배열을 교차하며 더해준 문자열을 리턴해주면 된다.

내 생각!
 문자열을 문자 배열로 바꾸는 toCharArray()를 기억하자

Java 문법

// char 문자 배열 자료형 선언
// str 문자열 .toCharArray();
char[] ch = str.toCharArray();