[TIL] 250602 알고리즘(JS)

이세령·2025년 6월 2일
0

TIL

목록 보기
123/126

문제

https://school.programmers.co.kr/tryouts/85893/challenges?language=javascript

문자열 분리하고 바꿀값을 저장해둔 뒤, 문자열 매개변수를 확인하고 값을 바꿔준 뒤, 배열을 합쳐서 출력했다.

function solution(my_string, num1, num2) {
    var answer = '';
    const splitString = my_string.split('');
    const num1String = splitString[num1];
    const num2String =splitString[num2];
    for(let i = 0; i < splitString.length; i++) {
        if(i === num1) {
            splitString[i] = num2String;
        }
        else if (i === num2) {
            splitString[i] = num1String;
        }
    }
    answer = splitString.join("");
    return answer;
}

js에서 더 간단하게 인덱스값을 서로 바꿀 수 있는게 있었던 것 같아서 리팩토링을 해봤다.

리팩토링

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

Array 구조분해할당을 통해 가독성 좋게 바꿀 수 있었다.

profile
https://github.com/Hediar?tab=repositories

0개의 댓글