[Lv.0] 문자열 여러 번 뒤집기

woodstock·2024년 1월 23일
0

코딩테스트

목록 보기
35/56
post-thumbnail

문자열 여러 번 뒤집기

문제설명

문자열 my_str 이차원 정수 배열 q가 매개변수로 주어진다. q의 원소는 [s, e] 형태로, my_str의 인덱스 s부터 인덱스 e까지를 뒤집으라는 의미이다.

my_str q의 명령을 순서대로 처리한 후의 문자열을 return 하는 solution 함수를 작성하는 문제이다.

풀이

function solution(my_str, queries) {
  for (let [start, end] of queries) {
    let left = my_str.substring(0, start);
    let middle = my_str.substring(start, end + 1).split('').reverse().join('');
    let right = my_str.substring(end + 1);
    my_str = left + middle + right;
  }
  return my_str;
}

풀이해설

function solution(my_string, queries) {
    // queries 배열의 각 요소에 대해 반복
    for (let [start, end] of queries) {
        // my_string에서 시작 인덱스 이전까지의 부분을 추출
        let left = my_string.substring(0, start);

        // my_string에서 시작 인덱스부터 끝 인덱스까지의 부분을 추출하고, 이를 뒤집음
        let middle = my_string.substring(start, end + 1).split('').reverse().join('');

        // my_string에서 끝 인덱스 이후의 부분을 추출
        let right = my_string.substring(end + 1);

        // 추출하고 뒤집은 부분들을 다시 연결
        my_string = left + middle + right;
    }
    // 모든 쿼리를 처리한 후 최종 문자열 반환
    return my_string;
}
profile
해내는 사람

0개의 댓글