Programmers - H-index

Doodream·2021년 3월 21일
0

코딩테스트

목록 보기
6/22
post-thumbnail

💻 H-index


❓ 문제

https://programmers.co.kr/learn/courses/30/lessons/42747?language=javascript

✔️ 코드


function solution(citations) {

    let arrH = [];

    // h를 0부터 차례 차례 증가시킨다.
    for (let h = 0; h <= citations.length; h++) {
        let count = 0;
        for (let i = 0; i < citations.length; i++) {
            // h번이상 인용되었다면 count++
            if (citations[i] >= h) {
                count++
            }
        }
        // h번이상 인용된 논문의 수가 h이상이면 해당 h를 arrH에 추가
        if (count >= h) {
            arrH.push(h);
        } else {
            break;
        }
    }

    // 작은순으로 추가되므로 가장 마지막에 있는 원소가 가장 큰 H
    var answer = arrH[arrH.length - 1];
    return answer;
}

❗️풀이과정

주어진 배열에 h를 0부터 차례차례 올려가며 조건을 확인하고 해당 조건에 맞으면
arrH 배열에 넣고 가장 마지막에 있는 원소가 가장 큰 H이므로 해당 숫자를 출력한다.
[0,0,0] 에서 H-index는 0이라는 점을 주의한다.

📄 배운점

  • 있을 수 있는 반례를 최대한 찾아 푼다.
profile
일상을 기록하는 삶을 사는 개발자 ✒️ #front_end 💻

0개의 댓글