[TIL] 240401 (인덱스 바꾸기)

·2024년 4월 1일

TIL

목록 보기
8/268

프로그래머스 문제

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

나의 답

function solution(my_string, num1, num2) {
    let arr = [...my_string];
    arr[num1] = my_string[num2];
    arr[num2] = my_string[num1];
    return arr.join('');
}

인덱스끼리 바꾸는 것을 동시에 할 수 있는 방법이 생각나지 않아서, 새로운 배열을 만들어 기존 배열의 값을 넣어줌으로써 문제를 해결했다.
그러나 내가 보기에도 제일 효율적인 방법은 아닐 것 같다는 생각이 들었다.

다른 답

function solution(my_string, num1, num2) {
    let arr = [...my_string];
    [arr[num1], arr[num2]] = [arr[num2], arr[num1]];
    return arr.join('');
}

(다른 답을 보고 내가 다시 작성한 코드이다.)
구조 분해 할당을 이용하면 두 인덱스끼리 바꾸는 것을 동시에, 그것도 간단하게 할 수 있었다.
개념 뿐만 아니라 해당 개념을 응용을 하는 법도 꾸준히 익혀야겠다.

profile
웹 프론트엔드 개발자

0개의 댓글