본문 바로가기
하루하루/프로그래머스 문제풀이

[Lv.0 - Java] 120895. 인덱스 바꾸기

by 키튼햄 2023. 12. 5.

 

문제

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

 

 

 

풀이

my_string을 문자를 각각나눠 배열에 넣은 후 num1과 num2의 자리값만 임시변수인 temp를 통해 바꿔주면 된다고 생각했다.

그리고 마지막으로 String으로 변환해 반환했다.

 

***

new String(my_str) 표현식은 기존 문자열 my_str 을 기반으로 새로운 String 객체를 생성하는 것이다. Java에서 문자열은 불변이기 때문에 new String(my_str) 을 이용하여 원래 문자열(my_str)에 영향을 주지 않고 복사본에 대한 작업을 수행하기 위해 사용했다.

 

 

 

코드

class Solution {
    public String solution(String my_string, int num1, int num2) {
        
        char[] my_str = my_string.toCharArray();
        
        char temp = my_str[num1];
        my_str[num1] = my_str[num2];
        my_str[num2] = temp;
        
        return new String(my_str);
    }
}