개발 블로그

[프로그래머스/Javascript/Sorting] H-Index 본문

IT/Programmers

[프로그래머스/Javascript/Sorting] H-Index

파티에 2021. 4. 8. 23:33

1. 문제 설명(출처: programmers.co.kr/learn/courses/30/lessons/42747)

2. 문제 풀이
1) 문제에서 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index 라고 했다. 우선 조건을 만족하는 h의 최댓값을 구하라고 했으니 citations를 내림차순으로 정렬한다.
2) i = 0부터 citations의 길이만큼 아래의 명령을 반복한다.
  2-1) i이상의 숫자가 i개 이상 있는지 확인한다.
     2-2-t) 현재 인덱스를 answer에 저장하고 반복문을 종료한다.
3) 만약 h-index를 찾지 못했다면
  3-f) citations의 길이를 반환한다.
4) answer를 반환한다.

3. 결제코드

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