SIU
article thumbnail

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
        
    }
}

profile

SIU

@웹 개발자 SIU

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!