► JS Algorithm/Programmers

[Programmers] JavaScript 알고리즘 | Lv.0 인덱스 바꾸기

다람트리 2024. 1. 9. 21:27
반응형

🔒 문제 설명

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


🔒 제한사항  

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

🔒 입출력 예

my_string num1 num2 result
"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"입니다.

 

🔐 solution of mine

Array.map()

Array.join()

  const solution = (my_string, num1, num2) =>
    console.log(
      [...my_string]
        .map((v, i) =>
          i === num1 ? my_string[num2] : i === num2 ? my_string[num1] : v
        )
        .join("")
    );

  solution("hello", 1, 2); // expected output: "hlelo"
  solution("I love you", 3, 6); // expected output: "I l veoyou"

 


 

🔐 solution of others 

Array.split()

Array.join()

구조분해할당

  const solution = (my_string, num1, num2) => {
    my_string = my_string.split("");
    [my_string[num1], my_string[num2]] = [my_string[num2], my_string[num1]];
    return console.log(my_string.join(""));
  };

  solution("hello", 1, 2); // expected output: "hlelo"
  solution("I love you", 3, 6); // expected output: "I l veoyou"

 


 

반응형