본문 바로가기
코딩 테스트

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

by 주연배 2024. 1. 13.

문제

 


 

풀이

1. for문을 이용하여 Str1과 Str2의 인덱스들을 문자열의 길이만큼 반복시켜준다.
    - 문자의 인덱스를 구할 때는 .charAt()을 사용한다.

2. answer에 각각의 인덱스 값들을 누적시킨다. 
   - 누적 시, 인덱스 값을 String.valueOf()를 이용하여 문자열로 바꿔준다

3. answer을 return 해준다.

 

간략하게 글로 설명하였으니 코드를 보면서 이해해봅시다!

 

str1과 str2의 각각의 값을 char로 변환시켜 준 결과 입니다!

아 그리고 이때 조심하셔야 할 부분이 있습니다.. 바로 for문에 조건식인데요.

아무 생각없이 str1.lengt;를 사용하니 에러가 뜨는 상황이 발생하였습니다.

 

이유가 무엇일까요...?

 

 

바로 str1.length와 str1.length()의 쓰임이 다르기 때문입니다.

.length는 배열의 길이를 구할 때 사용 됩니다.
.length()는 문자열의 길이를 구할 때 사용 됩니다.

 

지금 구하려는 것은 문자열의 길이 이므로 str1.legnth()를 사용하셔야 합니다!

저처럼 이런 실수를 꼭 하지 않으시길 바랍니다..!!


결과

class Solution {
    public String solution(String str1, String str2) {
        String answer = "";
        
        for(int i=0; i<str1.length(); i++){
            char a = str1.charAt(i);  
             char b = str2.charAt(i);  
            
            answer +=String.valueOf(a) + String.valueOf(b);
        }
        return answer;
    }
}

 

 

마지막으로 answer에 a와 b의 값을 더해주시면 됩니다!

이때 a,b는 char형식이였기 때문에 String.valueOf()를 이용하여 문자열(String)으로 변환시킵니다.