
public String solution(String my_string, int num1, int num2) {
StringBuilder result = new StringBuilder( my_string);
char temp = result.charAt(num1);
result.setCharAt(num1, result.charAt(num2));
result.setCharAt(num2, temp);
return result.toString();
}
StringBuilder는 mutable(변경 가능) 하기 때문에 setCharAt(index, char)를 사용하여 문자열의 특정 문자를 직접 변경 가능하다.public String solution(String my_string, int num1, int num2) {
char[] charArray = my_string.toCharArray(); // 문자열을 문자 배열로 변환
char temp = charArray[num1];
charArray[num1] = charArray[num2];
charArray[num2] = temp;
return new String(charArray); // 변경된 배열을 다시 문자열로 변환
}
<String>import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
public static String solution(String my_string, int num1, int num2) {
List<String> list = Arrays.stream(my_string.split("")).collect(Collectors.toList());
Collections.swap(list, num1, num2);
return String.join("", list);
}
1️⃣ my_string.split(""): 문자열을 리스트로 변환
Arrays.stream(my_string.split("")).collect(Collectors.toList());
2️⃣ Collections.swap(list, num1, num2): 리스트에서 두 인덱스의 문자 교환
Collections.swap(list, num1, num2);
num1과 num2 위치의 값을 서로 교환.3️⃣ String.join("", list): 리스트를 다시 문자열로 변환
return String.join("", list);