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

hello__0·2023년 9월 20일
0

Algorithm

목록 보기
14/20

나의 풀이

문자열의 위치를 바꾸기 위해선 문자열을 배열로 바꿔야 한다는 것도 splice를 사용해서 삭제하고 바꿀 수 있다는 것 까지는 알아냈다.
하지만 아무리 생각해도 교차해서는 어떻게 바꿀 수 있을지 몰랐다.

남의 풀이

function solution(my_string, num1, num2) {
    let str = [...my_string];
    str.splice(num1, 1, my_string[num2]);
    str.splice(num2, 1, my_string[num1]);
    console.log(str);
    return str.join('');
}

먼저 문자열을 구조분해 할당을 통해서 배열에 넣어준다.
splice(시작, 제거할 요소의 수, 추가할 요소)
시작 요소부터 num1을 넣어서 바로 삭제할 요소를 넣어준다.
당연히 1개를 삭제할 것이기 때문에 제거할 요소의 수는 1이고, 추가할 요소는 my_string[num2]로 바로 지정해준다.

마지막에 join으로 합쳐주는 이유는 배열에서 splice를 통해서 바꾸다 보면 낱개로 분리되어 있기 때문에 다시 합쳐주는 작업이 필요하다.

profile
자라나라 나무나무

0개의 댓글