[프로그래머스] 인덱스 바꾸기
카테고리 : 컴퓨터 공학
태그: programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 · 코딩테스트 연습 · JavaScript · 인덱스 바꾸기 · js 인덱스 바꾸기
태그: programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 · 코딩테스트 연습 · JavaScript · 인덱스 바꾸기 · js 인덱스 바꾸기
문제 설명
문자열 my_string
과 정수 num1
, num2
가 매개변수로 주어질 때, my_string
에서 인덱스 num1
과 인덱스 num2
에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 1 <
my_string
의 길이 < 100 - 0 ≤
num1
,num2
<my_string
의 길이 my_string
은 소문자로 이루어져 있습니다.num1
≠num2
입출력 예
my_string | num1 | num2 | result |
---|---|---|---|
“hello” | 1 | 2 | “hlelo” |
“I love you” | 3 | 6 | “I l veoyou” |
입출력 예 설명
입출력 예 #1
- “hello”의 1번째 인덱스인 “e”와 2번째 인덱스인 “l”을 바꾸면 “hlelo”입니다.
입출력 예 #2
- “I love you”의 3번째 인덱스 “o”와 “ “(공백)을 바꾸면 “I l veoyou”입니다.
나의 풀이
function solution(my_string, num1, num2) {
var answer = [...my_string];
let idx2 = answer[num2];
answer[num2] = answer[num1];
answer[num1] = idx2;
return answer.join("");
}
나의 두번째 풀이(Code Refactoring)
function solution(my_string, num1, num2) {
let result = [...my_string];
const [first, second] = [my_string[num1], my_string[num2]];
result[num1] = second;
result[num2] = first;
return result.join("");
}
// 구조 분해 할당으로 first 인덱스 , second 인덱스를 찾아주고 직접 인덱스를 바꿔주는 방법
참고 할 만한 다른 사람의 코드
function solution(my_string, num1, num2) {
var answer = "";
let arr = my_string.split("");
let tmp1 = my_string[num1];
let tmp2 = my_string[num2];
arr.splice(num1, 1, tmp2);
arr.splice(num2, 1, tmp1);
answer = arr.join("");
return answer;
}
// splice 메소드로 바꿔주는 방법