https://school.programmers.co.kr/learn/courses/30/lessons/138476
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제유형 : 해쉬, 정렬
function solution(k, tangerine) {
// 서로 크기가 다른 귤 객체
const sizes = {};
// key(해당 귤 크기)가 없으면 추가, 있으면 기존 개수 증가
tangerine.forEach((it) => sizes[it] ? sizes[it]++ : sizes[it] = 1);
// 객체의 value 값(귤 개수만 가져옴)
const fruits = Object.values(sizes);
// 내림차순 정렬 (귤 종류를 최소화려면 많은 귤 종류부터 채워야 함)
fruits.sort((a,b) => b-a);
// 총 귤 개수
let sum = 0;
// 귤 종류
let count = 0;
// 최소 귤 개수 반복문으로 확인
for(let fruit of fruits ){
sum += fruit;
count++;
if(sum >= k) return count
}
}
'JavaScript > 알고리즘(JS)' 카테고리의 다른 글
[프로그래머스 레벨1] 완주하지 못한 선수 [Javascript/해쉬, 정렬] (0) | 2023.03.04 |
---|---|
[프로그래머스 레벨3] 베스트 앨범 [Javascript/해쉬, 객체] (0) | 2023.03.04 |
[ALGO#06] 프로그래머스 레벨2 기능개발 [Javascript] (0) | 2023.02.28 |
[ALGO#05] 프로그래머스 레벨0 배열 두배 만들기 [Javascript] (0) | 2023.02.01 |
[ALGO#03] 프로그래머스 레벨0 몫 구하기 [Javascript] (0) | 2023.02.01 |