본문 바로가기

알고리즘, 자료구조

[프로그래머스 | 코딩 기초 트레이닝 Lv.0 | JAVA] 문자열 섞기

출처 - 프로그래머스

1. 문제목적

해당 문제는 chatAt(), valueOf() 메서드를 이해할 수 있습니다.

다른 방법으로 자바의 length(), substring() 메서드에 대해 이해할 수 있습니다.

2. 필요개념

  • charAt()는 문자열에서 특정 위치의 문자를 반환하는 역할을 합니다.
  • valueOf()는 여러 가지 데이터 타입의 값을 문자열로 변환하는 메서드입니다. 이 메서드는 다양한 기본 데이터 타입과 객체를 문자열로 변환할 수 있도록 오버로딩되어 있습니다. 주로 문자열과 다른 데이터 타입 간의 변환 작업에서 사용됩니다.

3. 코드작성

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

4. 문제풀이

  1. solution 메소드는 두 개의 문자열을 매개변수로 받아 문자열을 반환합니다.
  2. answer 변수는 결과 문자열을 저장하는 데 사용됩니다.
  3. for 반복문을 통해 두 문자열의 각 위치에 있는 문자를 번갈아가며 가져와서 answer에 추가합니다.
  4. String.valueOf(str1.charAt(i))를 통해 char 타입의 문자를 문자열로 변환하고, str2.charAt(i)를 그대로 추가하여 두 문자열의 문자를 번갈아가며 합칩니다.
  5. 최종적으로 합쳐진 결과 문자열 answer를 반환합니다.

5. 다른방법 

class Solution {
    public String solution(String str1, String str2) {
        String answer = "";
        
        for(int i = 0; i < str1.length(); i++) {
            answer += str1.substring(i,i+1);
            answer += str2.substring(i,i+1);
        }
        
        return answer;
    }
}

6. 마무리

charAt(),valueOf() 메서드를 이해할 수 있었습니다. 배열을 활용하여 데이터 자리를 지정하는 방법을 추가적으로 학습해야겠다고 생각했습니다.  

7. 문제링크

코딩테스트 연습 > 코딩기초트레이닝 > 자바 > 문자열 섞기

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