본문 바로가기
프로그래머스/0단계

문자열 섞기

by 긴가우딘 2024. 5. 21.

문제 설명

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

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


제한사항

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

입출력 예

str1 str2 result


 

⭐ 누적!!! 잊어먹지 말기 +=

 

class Solution {
    public String solution(String str1, String str2) {
        String answer = "";
        String[] str1Arr = str1.split("");
        String[] str2Arr = str2.split("");
       
        for(int i=0; i<str1Arr.length; i++) {
            for(int j=0; j<str2Arr.length; j++) {                
                answer += str1Arr[i] + str2Arr[j];
            }
        }     
        
        return answer;
    }
}
실행한 결괏값 "ababababababababababababababababababababababababab"이 기댓값 "ababababab"과 다릅니다.

!

class Solution {
    public String solution(String str1, String str2) {
        String answer = "";
        String[] str1Arr = str1.split("");
        String[] str2Arr = str2.split("");
       
        for(int i=0; i<str1Arr.length; i++) {
            answer += str1Arr[i] + str2Arr[i];
        }     
        
        return answer;
    }
}

 

너무 어렵게 생각했다;;

2중 for문이 필요없는 문제였다

원래 처음에 charAt()를 생각하기도 했지만 오류가 나서 하지 않았다

class Solution {
    public String solution(String str1, String str2) {
        String answer = "";

        for(int i = 0; i < str1.length(); i++){
            answer += str1.charAt(i) + str2.charAt(i);
        }

        return answer;
    }
}

 

답이 ASCII로 나타남

 

다른 사람의 문제 풀이를 살펴보니

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

 

이렇게 하면 되었다

 

이유는 자바에서 char 값을 + 연산자로 더하면 ASCII로 나타낸다고 한다

몰랐던 사실!

그래서

answer += str1.charAt(i) + “” + str2.charAt(i);

이렇게 더하면 제대로 나타난다

'프로그래머스 > 0단계' 카테고리의 다른 글

원소들의 곱과 합  (3) 2024.06.10
주사위 게임2  (0) 2024.06.06
문자열 겹쳐쓰기  (0) 2024.05.18
문자열 돌리기  (1) 2024.05.17
특수문자 출력하기  (1) 2024.05.15