[프로그래머스]인덱스 바꾸기 –

‘인덱스 교체’

문제 설명

my_string 및 정수 1번, num2가 매개변수로 지정된 경우,

my_string의 인덱스 num1 및 인덱스 solve 함수를 완료하여 num2와 일치하는 문자가 교체된 문자열을 반환합니다.


I/O 예시


I/O 예제 #1

  • “hello”의 첫 번째 첨자 “e”와 두 번째 첨자 “l”을 바꾸면 “hlelo”가 됩니다.

I/O 예제 #2

  • “I love you”의 세 번째 색인에서 “o”와 ” “(공백)을 바꾸면 “I l veoyou”가 됩니다.



-- 디스플레이광고 반응형 -->

자바 코드

class Solution {
    public String solution(String my_string, int num1, int num2) {
        String answer = "";
        for (int i = 0; i < my_string.length(); i++) {
            if (i==num1) answer += my_string.charAt(num2);
            else if (i==num2) answer += my_string.charAt(num1);
            else answer+= my_string.charAt(i);
        }
        return answer;
    }
}
  • 다른 솔루션
class Solution {
    public String solution(String my_string, int num1, int num2) {
        String() answer = my_string.split();
        String tmp = answer(num1);
        answer(num1) = answer(num2);
        answer(num2) = tmp;
        return String.join("",answer);
    }
}
// swap
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

class Solution {
    public String solution(String myString, int num1, int num2) {
        List<String> list = Arrays.stream(myString.split("")).collect(Collectors.toList());

        Collections.swap(list, num1, num2);
        return String.join("", list);
    }
}

파이썬 코드

def solution(my_string, num1, num2):
    answer =""
    my_string = list(my_string)
    my_string(num1),my_string(num2) = my_string(num2),my_string(num1)
    answer += "".join(my_string)
    return answer