Problem Solving/Programmers

[프로그래머스 / JS] 배열 조각하기 - Level 0

애송이개발자 2023. 4. 21. 00:23

 

🚩 문제 주소

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

📄 접근 방법

 

배열 인덱싱

 

더보기

문제 설명이 너무 애매한 문제인 것 같다는 생각이 듭니다.

 

처음에는 문제에서는 순회하면서 인덱스를 보고 배열을 슬라이싱 한다는 느낌으로 해석해서 계속 틀렸습니다..

전혀 모르겠어서 혼자 화만 내고 있었는데 동기분의 과감한 풀이 보기로 도움을 얻었습니다.

 

사실은 순회할 때 마다 슬라이싱 하지 않고, 잘라야 할 인덱스를 매번 갱신하여 마지막에 한 번에 슬라이싱 해야 했던 것입니다...

 

정말 어지러운 문제입니다..

 


👨‍💻 나의 코드

function solution(arr, query) {
    let s = 0;
    let e = query.length - 1;
    for (let i=0; i<query.length; i++) {
        if (i%2==0) e = s + query[i];
        else s += query[i];
    }
    const answer = arr.slice(s, e);
    return answer.length ? answer : [-1];
}