개인용 복습공간

프로그래머스 - H-Index (JavaScript, js) 본문

programmers

프로그래머스 - H-Index (JavaScript, js)

taehwanis 2023. 10. 12. 16:45
1. 평균값으로 찾기

function solution(citations) {
    const sum = citations.reduce((acc, el) => acc + el);
    let avg = Math.floor(sum / citations.length);
    let cnt = citations.filter(el => el >= avg).length;
    
    let answer;
    
    for (let i = 0; i < 10000 - avg; i++) {
    
        if(avg <= cnt){
            answer = avg
            avg++;
        }else{
            avg--;
        }
        
        cnt = citations.filter(el => el >= avg).length;
        
        if(answer == avg){
            break;
        }
        
 }
    
    return answer;
}




2. 역정렬 후 최적화된 값 찾기
function solution(citations) {
    let cnt = 0;
    citations.sort((a, b) => b - a);
    
    for(const cite of citations){
        if(cite >= cnt + 1){
            cnt++;
        }else{
            break;
        }
    }

    return cnt;
}



Comments