fullfish 2022. 9. 10. 02:37

코드

function solution(citations) {
  citations = citations.sort((a, b) => b - a);
  for (let i = 0; i < citations.length; i++) {
    if (i >= citations[i]) return i;
  }
  return citations.length
}

문제가 이상해서 삽질 한참함

처음 문제대로 쓴 코드

function solution2(citations) {
  let H = 0;
  citations = citations.sort((a, b) => a - b);
  console.log(citations);
  for (let i = 0; i < citations.length; i++) {
    let overNum = citations.filter((ele) => ele >= citations[i]).length;
    if (overNum >= citations[i]) H = overNum;
    else return H;
  }
}

그런데 문제가 이상해서 찾아보니까

h-index를 구하기 위해서는 배열을 내림차순으로 바꿔야합니다.
그리고 각각의 인덱스와 인덱스에 해당하는 값을 비교해 
인덱스가 인덱스에 해당하는 값보다 크거나 같으면 그 값이 h-index입니다.

라고 한다