자바스크립트

[JavaScript] 프로그래머스 문자열 여러 번 뒤집기

코딩하는둥이 2024. 5. 8. 21:27

문제 설명

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

입출력 예

my_string queries result
"rermgorpsam" [[2.3],[0,7].[5,9],[6,10]] "programmers"

코드

const solution = (my_string, queries) => {
  let charArray = my_string.split('');
  queries.forEach(([s, e]) => {
    charArray = [...charArray.slice(0, s), ...charArray.slice(s, e + 1).reverse(), ...charArray.slice(e + 1)];
  });
  return charArray.join('');
}
 

 

설명

1) split를 이용하여 my_string의 각 자릿수별로 분리합니다.

2) ForEach를 이용하여 charArray s부터 e까지의 부분 배열을 추출하고, 이를 역순으로 정렬

3) charArray를 join을 이용하여 각각의 문자를 하나로 합쳐줍니다.