반응형
문제:
문자열 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

 

문제 풀어보기: https://school.programmers.co.kr/learn/courses/30/lessons/181913

 

풀이보기
더보기
function solution(my_string, queries) {
    let str = [...my_string];
    
    for(let i = 0; i < queries.length; i++) {
        let [s, e] = queries[i];
        while(s < e) {
            [str[s], str[e]] = [str[e], str[s]];
            s++;
            e--;
        }
    }
    
    return str.join('');
}

먼저 queries[i] 값을 각각 s, e에 담아준다.

그리고 제한사항을 보면 s 값이 e보다 작기 때문에 s가 e보다 같거나 커질때까지만 반복을 하도록 설정한다.

그 후 s는 더해주고 e는 빼주면서 각 s, e의 인덱스 값을 서로 바꿔주도록 반복하면 된다.

마지막에는 str을 문자열로 변환해주면 끝!

 

반응형

+ Recent posts