CS/Algorithm 문제

[Programmers] H-Index

[Programmers] H-Index

 

🎈문제

https://programmers.co.kr/learn/courses/30/lessons/42747

💬설명

  • 문제가 조금 헷갈리게 적혀있어서 이해하는데 시간이 오래 걸렸다.
  • 포인트: h번이상 인용된 논문의 개수가 h개 이상인 것 중 최대 h값 선택
  • 예시를 보면 이해가 된다.
  • [3, 5, 6, 1, 0]이 있을 때 
    내림차순으로 정렬하면 [6, 5, 3, 1, 0]이다.
    index도 함께 표시하면

    [6, 5, 3, 1, 0]
     0, 1, 2, 3, 4
     
    인데
    여기서 얘기하는 조건을 만족 시키려면
    h번 이상 인용되는 논문이 h개 이상,
    즉, index >= citation이다.
    그러니까 index값이 결국 h번이상 인용되는 논문 개수니까 (내림차순으로 정렬했기 때문)
    가장 처음 만나는 '조건을 만족시키는 h값'이 답이 되는 것이다.

👩‍💻코드

def solution(citations):
    citations.sort(reverse=True)
    for idx , citation in enumerate(citations):
        if idx >= citation:
            return idx
    return len(citations)

 

👉참고

https://yunaaaas.tistory.com/56

728x90
반응형

'CS > Algorithm 문제' 카테고리의 다른 글

[BaekJoon] 백준 21608번 상어 초등학교  (0) 2021.10.14
[Programmers] 가장 큰 수  (0) 2021.10.13
[Programmers] K번째수  (0) 2021.10.12
[Programmers] 이중우선순위큐  (0) 2021.10.12
[Programmers] 디스크 컨트롤러  (0) 2021.10.12