Notice
Recent Posts
Recent Comments
Link
관리 메뉴

윤일무이

[JavaScript] 프로그래머스 코딩테스트 입문 : 인덱스 바꾸기 본문

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 입문 : 인덱스 바꾸기

썸머몽 2023. 3. 26. 19:38
728x90

문제 및 제한사항

 

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

 

**제한사항**

1 < my_string의 길이 < 100

0 ≤ num1, num2 < my_string의 길이

my_string은 소문자로 이루어져 있습니다.

num1 ≠ num2

 

풀이 방법

 

예를 들어 "hello"의 num1 = 1, num2 = 2일 경우 결과값이 "hlelo"로 리턴되어야 한다.

먼저 문자열의 경우 편집을 할 수 없기 때문에 주어진 문자열을 배열 형태 ans로 바꿔주었다.

 

splice()는 배열의 기존 요소를 삭제/교체하거나 새 요소를 추가하는 메서드다.

arr.splice(변경을 시작할 인덱스, (배열에서 제거할 요소의 수), (배열에 추가할 요소))로 사용할 수 있다.

 

ans에서 num1부터 시작, 1개(num1)를 제거하고 기존 문자열의 num2를 추가했다.

이후 num2에서 시작, 1개(num2)를 제거하고 기존 문자열의 num1을 추가했다.

배열 형태로 되어 있는 ans을 join해서 문자열로 묶어주었다.

 

코드

function solution(my_string, num1, num2) {
    let ans = [...my_string];
    ans.splice(num1, 1, my_string[num2]);
    ans.splice(num2, 1, my_string[num1]);
    return ans.join("");
}
728x90