[프로그래머스] H-Index

Gaanii·2025년 3월 12일
0

Problem Solving

목록 보기
179/210
post-thumbnail

아래 프로그래머스 로고를 클릭하면 해당 문제로 이동합니다 😀

프로그래머스로고



풀이과정


이거 진짜 문제 너무 불친절합니다. 입출력 예시좀 더주세요.

[연구논문을 위한 핵심 10단계]H-Index란 무엇인가?를 보면 H-지수가 뭔지 잘 설명해준다. (문제 풀면서 이런것도 찾아봐야하나요 ? 이게 맞나요 ? 이거 진짜에요 ?)

H-Index 설명 표

정리하자면, 가장 많이 인용된 논문 순으로 정렬을 하고(내림차순 정렬) 피인용수가 논문 수와 같아지거나 작아졌을때의 숫자가 H-Index라는 것!

문제만 이해하면 코드는 진짜 쉽게 짤 수 있다.

python에선 enumerate를 이용해 인덱스를 받아 논문수로 이용했고, js에선 forEach를 이용했다.


코드


1. Python

# 내림차순으로 정렬하고, 인용수가 논문수랑 같아지는 지점 체크(논문수 1부터 증가, idx 이용)
def solution(citations):
  answer = 0
  citations.sort(reverse=True)
  for cnt, citation in enumerate(citations):
    if citation >= cnt+1:
      answer = cnt+1
  return answer

2. JS

function solution(citations) {
  var answer = 0;

  // 내림차순 정렬
  citations.sort((a, b) => b-a);

  [...citations].forEach((v, i) => {
    if(v >= i+1) answer = i+1
  });
  return answer;
}


결과


정답

0개의 댓글