250820

lililllilillll·2025년 8월 20일

개발 일지

목록 보기
269/350

✅ 한 것들


  • 프로그래머스


⚔️ 프로그래머스


H-index

int solution(vector<int> citations) {
    // 처음부터 끝까지 순회하며 해당 논문의 인용 횟수만큼 논문이 있는지 확인
    int cMax = *max_element(citations.begin(), citations.end());
    for (int h = cMax; 0 <= h; h--)
    {
        int count = 0;
        for (int j = 0; j < citations.size(); j++)
        {
            if (citations[j] >= h) count++;
        }
        if (count >= h) return h;
    }
    return 0;
}

내 풀이

  • 실수했던 점 : 각 논문의 인용 횟수들만 확인하면 안되고, 최댓값까지 다 확인해야함
int solution(vector<int> citations) {
    sort(citations.begin(), citations.end(), greater<int>());

    for (int i = 0; i < citations.size(); ++i) {
        if (citations[i] < i + 1) {
            return i;
        }
    }

    return citations.size();
}

다른 사람 풀이

  • h-index 1의 조건을 충족하는지, 2의 조건을 충족하는지 차근차근 올라가는 방식
profile
너 정말 **핵심**을 찔렀어

0개의 댓글