Skip to main content

Command Palette

Search for a command to run...

[Algorithms] Complex Array

Published
•2 min read•View as Markdown
[Algorithms] Complex Array

0단계 : 배열 조각하기

정수 배열 arr와 query가 주어집니다.

query를 순회하면서 다음 작업을 반복합니다.

  • 짝수 인덱스에서는 arr에서 query[i]번 인덱스를 제외하고 배열의 query[i]번 인덱스 뒷부분을 잘라서 버립니다.

  • 홀수 인덱스에서는 arr에서 query[i]번 인덱스는 제외하고 배열의 query[i]번 인덱스 앞부분을 잘라서 버립니다.

위 작업을 마친 후 남은 arr의 부분 배열을 return 하는 solution 함수를 완성해 주세요.

Example

arrqueryresult
[0, 1, 2, 3, 4, 5][4, 1, 2][1, 2, 3]
query의 값query 처리 전query 처리 후비고
4[0, 1, 2, 3, 4, 5][0, 1, 2, 3, 4]0번 인덱스의 쿼리이므로 뒷부분을 자른다.
1[0, 1, 2, 3, 4][1, 2, 3, 4]1번 인덱스의 쿼리이므로 앞부분을 자른다.
2[1, 2, 3, 4][1, 2, 3]2번 인덱스의 쿼리이므로 뒷부분을 자른다.

Solution

function solution(arr, query) {
    var answer = [...arr];
    for(let i=0; i<query.length; i++){
        if(i%2==0){
            answer=answer.slice(0,query[i]+1)
        }else if(i%2!=0){
            answer=answer.slice(query[i])
        }
    }
    return answer;
}
  • [...arr] - The length of arr is not fixed

  • You can put the result of answer.slice() again into answer

More from this blog

Next.js의 Routing

라우팅은 네트워크 용어로서 네트워크상의 주소로 이동하여 해당 주소에 연결되어있는 데이터를 사용하는 일련의 과정을 의미 라우터는 라우팅을 수행할 수 있는 장치 pages (혹은 src/pages) 폴더 아래에 파일을 추가하는 방식으로 각 컴포넌트에 URL을 부여 install - 리액트에서는 라우터를 제공하지 않기 때문에 react-router-dom이라는 패키지를 설치 router 객체 확인 가능 동적 라우팅(Dynamic Rout...

Aug 30, 20232 min read
Next.js의 Routing

What I've learned on my tech journey

26 posts

Frontend Developer👩‍💻