728x90
반응형
2021.05.29
문제명 : Summer/Winter Coding(~2018) - 예산
사용언어 : Javascript
개발 시간 : 30분
📋 문제 설명
이 문제의 핵심은 정해진 예산으로 최대 몇 개의 부서의 물품을 구매할 수 있는지입니다.
📢 입출력 예
정해진 예산을 꼭 써야 하는 것은 아닌 것도 주의하면 좋을 것 같습니다.
🔑 문제 풀이
적은 금액부터 지원해주면 최대한 많은 부서의 물품을 구매할 수 있다
1. 부서 배열 d를 오름차순 정렬시키기
2. 적은 금액부터 금액 합치기 -> 합친 금액이 예산보다 많아지기 전까지만 합치기
3. 주어진 예산보다 많아질 시 break!
function solution(d, budget) {
var answer = 0;
var sum = 0;
// 오름차순 정렬
d = d.sort(function(a, b){ return a-b; });
for(var i=0; i<d.length; i++){
sum += d[i];
// 주어진 예산보다 합이 적을때까지만 합치기
if(sum <= budget){
answer++;
}else{
break;
}
}
return answer;
}
숫자 배열 오름차순 정렬 시, 문자로 인식하므로 주의하세요!
var arr = [1,2,100]
arr.sort();
// 결과 : [1,100,2]
arr.sort(function(a,b) {return a-b;});
// 결과 : [1,2,100]
🔔 새로 알게 된 점
1. 숫자 배열 정렬 시에는 문자로 인식하므로 sort(function(a,b) {return a-b;}); 사용하기
728x90
반응형
'Programmers > Javascript' 카테고리의 다른 글
[프로그래머스] 로또의 최고 순위와 최저 순위 javascript (0) | 2021.07.14 |
---|---|
[프로그래머스] 키패드 누르기 javascript (0) | 2021.06.26 |
[프로그래머스] 폰켓몬 javascript (0) | 2021.06.13 |
[프로그래머스] 실패율 javascript (0) | 2021.06.11 |
[프로그래머스] 크레인 인형뽑기 게임 javascript (0) | 2021.06.03 |