반응형

인덱스 바꾸기

 

문제 설명

문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.


제한사항
  • 1 < my_string의 길이 < 100
  • 0 ≤ num1, num2 < my_string의 길이
  • my_string은 소문자로 이루어져 있습니다.
  • num1  num2

입출력 예my_stringnum1num2result
"hello" 1 2 "hlelo"
"I love you" 3 6 "I l veoyou"

입출력 예 설명

입출력 예 #1

  • "hello"의 1번째 인덱스인 "e"와 2번째 인덱스인 "l"을 바꾸면 "hlelo"입니다.

입출력 예 #2

  • "I love you"의 3번째 인덱스 "o"와 " "(공백)을 바꾸면 "I l veoyou"입니다.

 

function solution(my_string, num1, num2) {
    var answer = '';
    let arr = [];

    for(let i = 0; i < my_string.length; i++) {
        if (i === num1) arr.push(my_string[num2]);
        else if (i === num2) arr.push(my_string[num1]);
        else arr.push(my_string[i]);
    }

    answer = arr.join("")
    return answer;
}

console.log(solution("hello", 1, 2)); // hlelo
console.log(solution("I love you", 3, 6)); // I l veoyou

 

다른사람의 풀이

function solution(my_string, num1, num2) {
    my_string = my_string.split('');
    [my_string[num1], my_string[num2]] = [my_string[num2], my_string[num1]];
    return my_string.join('');
}

ES6문법인, 구조 분해 문법( Destructuring )을 활용한 내용이라고 합니다. 나중에 제대로 확인해 봐야겠습니다.

반응형

+ Recent posts