프로그래머스 JS LV0

LV0 43 인덱스 바꾸기

와라리요 2022. 10. 20. 15:19

문제

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

 

입출력 예

my_string num1 num2 result
"hello" 1 2 "hlelo"
"I love you" 3 6 veoyou"

 

나만의 풀이

  이 문제를 풀 때 고민을 했다. 우선 배열로 바꾼 뒤 문제를 풀어야 한다는 것을 처음 보자마자 알았다. 그러면 배열로 바꾼 뒤 어떻게 자리를 바꿔주면 될까 고민을 했다.

  그리고 내장함수를 찾아보았는데 다양한 방법들이 있었지만 사용하지 않고 풀 수 있는 방법을 생각해내서 그것으로 풀었다. 우선 바꿀 위치의 배열 num1를 상수로 지정한 뒤 num1의 위치를 num2로 바꾸고 num2를 상수로 선언한 num1로 바꾸고 join()하면 해결되는 문제!!

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