프로그래머스 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('');
}