Level 0 ) 문자열 여러 번 뒤집기

Doozuu·2023년 5월 9일
0

프로그래머스 (JS)

목록 보기
110/183

문제 설명

문자열 my_string과 이차원 정수 배열 queries가 매개변수로 주어집니다. queries의 원소는 [s, e] 형태로, my_string의 인덱스 s부터 인덱스 e까지를 뒤집으라는 의미입니다. my_string에 queries의 명령을 순서대로 처리한 후의 문자열을 return 하는 solution 함수를 작성해 주세요.

제한사항

my_string은 영소문자로만 이루어져 있습니다.
1 ≤ my_string의 길이 ≤ 1,000
queries의 원소는 [s, e]의 형태로 0 ≤ s ≤ e < my_string의 길이를 만족합니다.
1 ≤ queries의 길이 ≤ 1,000

입출력 예

my_string	queries	result
"rermgorpsam"	[[2, 3], [0, 7], [5, 9], [6, 10]]	"programmers"

풀이

function solution(my_string, queries) {
    for(let i=0;i<queries.length;i++){
        let s = [...my_string.slice(queries[i][0],queries[i][1]+1)].reverse().join('');
        my_string = my_string.slice(0,queries[i][0]) + s +  my_string.slice(queries[i][1]+1)
    }
    return my_string;
}

다른 풀이

function solution(my_string, queries) {
    let str = my_string.split('');
  queries.forEach(([start, end]) => {
    const changeStr = str.slice(start, end + 1);
    str.splice(start, changeStr.length, ...changeStr.reverse());
  });
  return str.join('');
}
profile
모든게 새롭고 재밌는 프론트엔드 새싹

0개의 댓글