본문 바로가기

Algorithm Study

[Java Algorithm] 프로그래머스 Lv.0 _ 문자열 섞기

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

 

[Algorithm]

반복문을 사용하여 각 문자열의 인덱스마다 answer 변수에 추가해주는 코드 작성

 

[Code]

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

 

[+ Plus]

✔️ 형변환에 대하여 

위 코드를 보면 charAt()을 이용하여 문자열의 각 문자들을 answer에 할당하고 있는데 문제에서 결과값으로 문자열을 반환하라고 말하고 있다 !!

그래서 다른 사람들의 코드를 보면, string.valueOf()를 사용해서 형변환을 해주는 경우가 많은데

안해도 코드가 실행되는 이유는 Java에서 char을 + 로 연결하면 String으로 받기 때문이다 !

그 이유는 컴퓨터에서 문자형 char은 정수로 인식하기 때문인데 정수 + 문자열을 하게되면 문자열 형태로 받기 때문 !

 

✔️ 다른 사람 풀이

이 사람 고수입니다 ⬇️

https://velog.io/@friend463/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-Lv.0-Java-%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%84%9E%EA%B8%B0-kjymg5z3

 

아놔 나는 바보야..

문제 제대로 생각 안하고 if 조건으로 홀수짝수 나눠서 하나씩 더하는 로직 짰다가 ,,

안돼서 한참 헤매다가 잘못된거 깨닫고 다시 코드 썼당 바보!