본문 바로가기
코딩테스트/LV. 1

LV. 1 :: 예산

by KUROMI98 2023. 1. 31.

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

 

프로그래머스

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

programmers.co.kr

 

function solution(d, budget) 
{
    var answer = 0;
    var sum = 0;
    
    d = d.sort((a,b)=>a-b);
    // 각 부서별 금액을 오름차순으로 정렬해 준다.
    
    for(i=0; i<d.length; i++)
    { 
        sum += d[i];
        
        if (sum > budget)
        { // i번째에서 합계가 예산보다 커졌다면
            answer = i; // 지원해 줄 수 있는 부서의 개수는 i개이다.
            break; // 여기서 값이 더 변동되지 않게끔 break해준다.
        }
        
        else if (sum == budget)
        { // i번째에서 합계가 예산과 같다면
            answer = i+1; // 지원해 줄 수 있는 부서의 개수는 i+1개이다.
        }
        
    }
    
    if(sum < budget) 
    {
        answer = d.length;
    }
    // 전체 부서의 필요 금액을 다 합쳐줬는데도 그게 예산보다 적다는 건
    // 전체 부서에 다 지원을 해줘도 예산이 남는다는 것이기 때문에
    // 지원해줄 수 있는 부서의 개수는 전체 부서의 개수와 같다는 것.
    
    return answer;
}

'코딩테스트 > LV. 1' 카테고리의 다른 글

LV. 1 :: 다트 게임  (1) 2023.02.01
LV. 1 :: 폰켓몬  (0) 2023.02.01
LV. 1 :: K번째 수  (0) 2023.01.31
LV. 1 :: 모의고사  (0) 2023.01.30
LV. 1 :: 크레인 인형뽑기 게임  (0) 2023.01.30

댓글