https://school.programmers.co.kr/learn/courses/30/lessons/181913
문자열
my_string
과 이차원 정수 배열queries
가 매개변수로 주어집니다.queries
의 원소는 [s, e] 형태로,my_string
의 인덱스 s부터 인덱스 e까지를 뒤집으라는 의미입니다.my_string
에queries
의 명령을 순서대로 처리한 후의 문자열을 return 하는 solution 함수를 작성해 주세요.
function solution(my_string, queries) {
var answer = my_string.split('');
let result =''
for(let x of queries){
let num = x[1]-x[0]
result=answer.slice(x[0],x[1]+1).reverse();
answer.splice(x[0],num+1);
answer.splice(x[0],0,...result)
}
return answer.join('');
}
console.log(solution("rermgorpsam",[[2, 3], [0, 7], [5, 9], [6, 10]]))
function solution(my_string, queries) {
//1. my_string을 배열로 answer에 넣어준다.
var answer = my_string.split('');
let result =''
//2.queries를 for...of문으로 순환한다.
for(let x of queries){
let num = x[1]-x[0]
//3.result에 answer배열에서 x[0]의 수부터 x[1]+1까지의 수를 reverse로 거꾸로 바꿔서 넣어준다.
result=answer.slice(x[0],x[1]+1).reverse();
//4.answer의 x[0]인덱스부터 num개를 삭제한다.
answer.splice(x[0],num+1);
//5.answer에 x[0]인덱스에 result를 넣어준다. '...result'가 아닌 'result'를 넣어주면
// [ 's', 'p', 'r', 'o', 'g', [ 'm', 'r' ], 'e', 'r' ] 이렇게 들어가기에
//...result해서 넣어준다.
answer.splice(x[0],0,...result)
}
//6.배열 answer을 문자열로 바꿔준다.
return answer.join('');
}
console.log(solution("rermgorpsam",[[2, 3], [0, 7], [5, 9], [6, 10]])) //"programmers"