Algorithm/프로그래머스

[프로그래머스] H-index (Python)

에릭 Kim 2023. 5. 25. 19:59
반응형

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

소스코드

 

풀이

★ h번 이상 인용된 논문이 h편 이상 있는데, 이 h의 최댓값을 출력하는 문제입니다.

 

★ 먼저 배열을 내림차순으로 정렬해줍니다. 그 후 배열을 읽으면서 배열의 원소 인덱스 번호가 해당 값보다 크거나 같을 때를 찾아줘야 합니다.

 

ex) 배열 = [10, 9, 7, 5, 3, 1]  인덱스 번호 = [0, 1, 2, 3, 4, 5]. 

      인덱스 번호가 배열의 값보다 크거나 같아질 때 - > 4

      따라서 answer = 4. 

 

answer를 문제에 적용해보면 4번 이상 인용된 논문이 4편 이상 있기 때문에 최댓값이 정립합니다. 

 

★ 한가지 예외 사항이 있는데, 모든 논문이 인용되는 경우입니다. 이는 인덱스 번호가 해당 값보다 크거나 같은 경우가 없을 때인데, 이런 경우에는 배열 전체의 길이만큼 answer를 출력해주면 됩니다 ! 

반응형