본문 바로가기
알고리즘/프로그래머스

[프로그래머스][자바스크립트][Level2] H-Index

by Benjamin_Choi 2022. 1. 4.


/**
 * H-index
 * 정렬
 * https://programmers.co.kr/learn/courses/30/lessons/42747?language=javascript
 */

function solution(citations) {
    var answer = 0;

    citations.sort((a, b) => b - a);

    for (let i = 0; i < citations.length; i++) {
        if (citations[i] >= i + 1) {
            answer++;
        } else {
            break;
        }
    }

    return answer;
}

module.exports = solution;

내림차순으로 정리해놓고,

1보다 인용 수가 많은 논문이 1편 이상 있는지를 시작으로 2보다 인용수 많은 논문 2편 확인, 3보다 인용수 많은 논문 3편 확인 ... 으로 쭉 이어나가면된다. 현재 확인 중인 논문보다 앞에 있는 논문들은 모두 인용수가 해당 논문보다 크거나 같고, 나머지 논문들은 작거나 같으므로 현재 확인 중인 논문의 인용수만 확인하면 된다. 


const solution = require("./H-Index");

test('[3, 0, 6, 1, 5]', () => {
    expect(solution([3, 0, 6, 1, 5])).toBe(3);
})

 

댓글