[Programmers](Level2) H-Index 논문 인용

주형(Jureamer)·2022년 4월 9일
0

문제명: H-Index 논문 인용

문제설명

H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다.
어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다.
어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고
나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다.
(...생략)

문제풀이

문제설명을 몇 번 봐도 이해가 잘 안됐던 케이스..
결국 H-index에 대해 좀 더 설명이 필요해서 [연구논문을 위한 핵심 10단계] H-지수(H-Index) 란 무엇인가? 라는 글을 읽고나서
바로 이해하게 되었다.

결론은 피인용수(Citation)이 그 만큼 인용된 논문 수보다 같거나 작아지는 그 시점이 H-index다.

문제를 이해하는 데 시간이 걸렸지만 푸는 시간은 금방이었다.
역시 문제를 이해하는 게 제일 중요하다!

function solution(citations) {
  var answer = 0;
  // H-Index 변수
  // 내림차순 정렬
  citations = citations.sort((a, b) => b-a);
  
  for(let i = 0; i < citations.length; i++) {
    if(answer >= citations[i]) return answer
    else answer++
  }
  return answer
}

// test case 1 => 1
console.log(solution([3, 0, 6, 1, 5]))

// test case 2 => 7
console.log(solution([3, 4, 5, 11, 15, 16, 17, 18, 19, 20]))
profile
작게라도 꾸준히 성장하는게 목표입니다.

0개의 댓글