14. 프로그래머스(1단계) - 예산

성훈·2021년 8월 5일
0

Algorithm

목록 보기
14/61
post-thumbnail

📌 문제의 조건

  1. 각 부서별로 필요한 예산이 담긴 배열과 총 예산인 숫자열이 인자로 주어진다.
  2. 최대한 많은 부서가 지원받아야한다.

제한사항 🤔

  • d는 부서별로 신청한 금액이 들어있는 배열이며, 길이(전체 부서의 개수)는 1 이상 100 이하입니다.
  • d의 각 원소는 부서별로 신청한 금액을 나타내며, 부서별 신청 금액은 1 이상 100,000 이하의 자연수입니다.
  • budget은 예산을 나타내며, 1 이상 10,000,000 이하의 자연수입니다.

📌 풀이

풀이 👨‍💻

function solution(d, budget) {
    d = d.sort((a,b)=>a-b)
    return d.reduce((acc, cur)=>{
        if(cur <= budget){
            budget-=cur
            return acc+=1
        }
        return acc;
    },0)
}

📌 리뷰

문제를 대충 읽고 음 리듀스문제구만 싶어서 바로 써봤다.
쓰는 도중에 이러면 가장 첫 부분에 예산 많이 타가면 뒤는 못받는거 아닌가 하는 생각이 들어서 문제를 다시 확인해보니 최대한 많은 부서에게 예산이 돌아가야한다고 적혀있는 부분이 있었다.

그냥 솔트해줘서 적게 신청한 사람부터 주면 되겠지 싶어서 솔트하니 통과~

📌 문제 출처

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges#

profile
어떻게 이걸 풀어낼 수 있을까

0개의 댓글