본문 바로가기
코드문제풀이/JAVA

[자바] 문자열 섞기

by 똥쟁이핑크 2023. 7. 5.

https://school.programmers.co.kr/learn/courses/30/lessons/181942

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 설명

길이가 같은 두 문자열 str1과 str2가 주어집니다.

두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해주세요.

제한사항

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

 

입출력 예

str1 str2 result
"aaaaa" "bbbbb" "ababababab"

 

나의 문제 풀이

1) str1과 str2를 배열로 만들기 위해 char[]배열을 사용했다. .toCharArray()

2) for문을 실행하여 cstr1과 cstr2이 번갈아 answer에 들어갈수 있게 하였다. String.valueOf()

3) 문자열 → 문자배열, 문자배열 문자열로 만들어야 해서 여러가지 찾아보았다. 

4) 참고한 사이트 https://cornarong.tistory.com/34

 

[Java] (String, char)배열, 문자열 상호 변환 방법

1. String을 String배열로 변환하는 방법 (문자열 -> 문자열배열) .split("") 2. String배열을 String으로 변환하는 방법 (문자열배열 -> 문자열) Arrays.toString( ) 3. String을 char배열로 변환하는 방법 (문자열 ->

cornarong.tistory.com

5) 위와 같은 방법은 많이 쓰이기 때문에 필수적으로 외워야겠다.

class Solution {
    public String solution(String str1, String str2) {
        String answer = "";
        char[] cstr1 = str1.toCharArray();
        char[] cstr2 = str2.toCharArray();
        
        for(int i = 0; i < cstr1.length; i++){
            answer += String.valueOf(cstr1[i]) + String.valueOf(cstr2[i]);
        }
        return answer;
    }
}