TLI/코드카타
2024.06.18 TIL 코트카타 86번(H-Index)
jaeseonyoo
2024. 6. 18. 23:32
fun solution(citations: IntArray): Int {
var hIndex = 0
citations.sort()
for ((index,citation) in citations.withIndex()) {
if(citation >= citations.size - index) {
hIndex = citations.size - index
break
}
}
return hIndex
}
풀이 과정
1. citations 배열을 오름차순 정렬한다.
2. citations를 for문으로 돌리면서 인용 횟수가 남은 논문 개수 이상이 되는 index를 찾는다.
3. 그 때의 남은 논문의 개수를 리턴한다.
포인트
- 오름차순으로 정렬하면 남은 논문들이 현재 논문 이상으로 인용이 되어있다.
- 남은 개수와 현재 논문의 인용 횟수를 기준으로 최대가 되는 h를 구할 수 있다.
- 인덱스가 적을 때 남은 개수가 많기 때문에 최댓값을 구할 수 있다.