function solution(str, q) {
str = str.split('')
for(let i=0; i<q.length; i++) {
let s = q[i][0]; let e = q[i][1]
let revStr = str.slice(s, e+1).reverse()
for(let j=0; j<revStr.length; j++) {
str.splice(s+j, 1, revStr[j])
}
}
return str.join('')
}
i for문은 쿼리에 저장된 번호대로 문자열을 뒤집는다. 뒤집은 문자열은 배열 형태로 revStr에 저장한다. j for문은 revStr의 값들을 하나씩 str에 저장한다.
이때, splice에서 시작 위치에 j를 더하고, str의 문자를 하나씩 삭제하면서 값을 저장해야 올바른 형태의 str을 리턴할 수 있다.