본문 바로가기

코딩 테스트/Codility

Codility TapeEquilibrium JavaScript 풀이

https://app.codility.com/programmers/lessons/3-time_complexity/tape_equilibrium/

 

TapeEquilibrium coding task - Learn to Code - Codility

Minimize the value |(A[0] + ... + A[P-1]) - (A[P] + ... + A[N-1])|.

app.codility.com

내가 제출한 코드는 아래와 같다.

function solution(A) {
    // write your code in JavaScript (Node.js 8.9.4)
    let result;
    
    let arr = [];
    
    let sum = A.reduce((acc, cur) => {
        arr.push(acc + cur);
        return acc + cur;
    }, 0);
    
    let sub = arr.map((e) => {
        return Math.abs(e - Math.abs(e - sum));
    })
    
    sub.pop();
    
    result = Math.min.apply(null, sub);
    
    return result;
}

스코어는 69점을 기록했다. 테스트 케이스가 공개되면 좋은데 공개가 안돼서.. 

다른 분들이 짠 로직을 참고하며 어느 부분에 오류가 있는지 찾아봐야겠다.