Algorithm / H-Index

알고리즘 코드카타

목록 보기
39/59

문제

프로그래머스 / H-Index

1) 문제 풀이

✅ H-Index 정의 요약

어떤 수 h에 대해,

  • 인용 횟수가 h 이상인 논문이 h편 이상이고,
  • 나머지 논문이 h 이하의 인용 수를 가졌을 때,
  • 가능한 최대의 h값이 H-Index
func solution(_ citations: [Int]) -> Int {
    let sorted = citations.sorted(by: >) // 내림차순 정렬
    
    for (index, citation) in sorted.enumerated() {
        if index + 1 > citation {
            return index
        }
    }
    
    return citations.count
}

결과

🔍 설명

  • sorted된 배열에서 index + 1 > citation이 처음으로 성립되는 순간이 바로 H-Index의 최대값을 넘어선 지점
  • 그 이전 index가 바로 최대 H-Index
  • 만약 모든 논문이 인용수가 커서 끝까지 도달하면 n이 H-Index
profile
이유있는 코드를 쓰자!!

0개의 댓글