알고리즘, 자료구조/프로그래머스

프로그래머스/예산/javascript

soohkang 2021. 6. 29. 15:23
728x90

틀렸고 처음 작성한 코드, 테스트 케이스 47.8 / 100.0

function solution(d, budget) {
    var answer = 0;

    d.reduce(function (acc, curValue) {
        let sumTemp = acc + curValue;
        if(sumTemp <= budget) answer++;
        return sumTemp;
    }, 0);

    return answer;
}

 

정답이고 참고한 코드

let solution = (d, budget) => {
    let answer = 0;

    d.sort((b, a) => b - a).reduce((a, c) => {
        if(a+c <= budget) {
            answer++;
            return a+c;
        }
    }, 0);

    return answer;
}

 

참고한 코드 출처:

https://velog.io/@jakeseo_me/%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-33-%EC%98%88%EC%82%B0

 

코딩테스트 #33 예산

카카오 2018

velog.io

 

 

배울 점

배열 d에 있는 값들을 더해서 budget 이하면 카운트해주면 된다로 생각함.

그런데 테스트 케이스가 반만 통과한 걸 보니 추가로 더 생각해야 되는 부분이 있나 보다.

정답을 찾아보니 정렬을 해줘야 된다고 하는데,,, 아직은 잘 이해가 안 간다...ㅎ

 

공부하고 다시 오자.

 

 

 

 

출처:

https://programmers.co.kr/learn/courses/30/lessons/12982

 

코딩테스트 연습 - 예산

S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는

programmers.co.kr