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

stella·2023년 1월 4일
0

Algorithm

목록 보기
1/40
post-thumbnail

문제

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


나의 풀이

function solution(my_string, num1, num2) {
    const result = [...my_string];
    
    result.splice(num1, 1, my_string[num2]);
    result.splice(num2, 1, my_string[num1]);
   
    return result.join('');
}

배운점

  • 처음에 생각한 로직은 replace() 메소드를 이용해서 my_string[num1]my_string[num2] 의 위치를 바꿔서 return 해주는거로 코드를 짰는데 이상하게도 num2 인덱스 값이 num1 인덱스 값으로는 가는데 num1 인덱스 값은 num2로 가지 않았다.
  • splice() 메소드는 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경해준다. 이 메소드는 원본 배열 자체를 수정한다.
  • splice(start, deleteCount, item1)
    start: 배열의 변경을 시작할 인덱스
    deleteCount: 배열에서 제거할 요소의 수
    item1: 배열에 추가할 요소
profile
Frontend Engineer

0개의 댓글