최대 1 분 소요

part14. H-Index

js ver 1.0

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


실행결과_js ver 1.0

js ver 1.1

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


실행결과_js ver 1.1


업데이트: