https://school.programmers.co.kr/learn/courses/30/lessons/12982
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
총 예산을 최대한 많은 부서(각 부서는 신청금액이 다릅니다.)에게 주세요.
저의 풀이
function solution(d, budget) {
let answer = 0;
d.sort((a, b) => a - b);
for (let i = 0; i < d.length; i++) {
if (budget >= d[i]) {
budget -= d[i];
answer += 1;
}
}
return answer;
}
각 부서의 필요 금액을 낮은 금액부터 정렬하고 낮은 금액부터 지급하면 최대한 많은 부서에 정해진 예산을 나눠 줄 수 있을 거라고 생각했습니다.
d.sort((a, b) => a - b);
각 부서의 신청금액을 작은 숫자 부터 큰 숫자 순서로 정렬했습니다.
for (let i = 0; i < d.length; i++) {
if (budget >= d[i]) {
budget -= d[i];
answer += 1;
}
위를 반복문을 이용해서 낮은 신청금액부터 큰 신청금액까지 진행했습니다.
반복문이 진행되면서 총 예산이 부서의 신청금 보다 크거나 같으면 총 예산에서
부서의 신청금을 차감하고 지급한 부서숫자(answer)에 + 1을 해줬습니다
총 예산이 신청금액보다 적으면 그냥 반복문이 진행됩니다.
}
return answer;
}
자바스크립트 배열 정렬 arr.sort((a, b) => a - b)
자바스크립트 배열 정렬 arr.sort((a, b) => a - b)
https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞..
chord.tistory.com
다른분들의 풀이는 비슷하서 생략 하겠습니다.
'자바 스크립트 공부 > 프로그래머스 코딩테스트' 카테고리의 다른 글
| 자바스크립트 배열의 각 요소의 합을 구할때 reduce()에서도 i가 사용이 가능하다. 초기 값도 설정가능하다. (0) | 2022.09.08 |
|---|---|
| 자바스크립트 특정 진법으로 표현된 것을 정수로 나타낼 때 parseInt(string, radix) (0) | 2022.09.07 |
| 자바스크립트 현재 시간을 알고 싶을때 Date, 문자열을 대문자로 변환할때 String.prototype.toUpperCase() (0) | 2022.09.05 |
| 자바스크립트 return, break의 차이점 (0) | 2022.09.04 |
| 자바스크립트 22.09.03 프로그래머스 코딩테스트 문제 풀기 (0) | 2022.09.03 |