개발/알고리즘
[프로그래머스] 정렬 - H-Index
Liber21
2021. 3. 31. 15:01
반응형
코딩테스트 연습 - H-Index
H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표
programmers.co.kr
입력 & 출력
어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때,
이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요.
풀이
값을 정렬한 후, 차례로 수를 더하며 h 값을 구하는 방법을 생각했다
[3, 0, 6 , 1, 5] 를 정렬하면 [6, 5 ,3 ,1 ,0] 이 된다
이들을 순서대로 찾아가며 h 값을 더해주고 h값이 배열의 h번보다 크다면, 그 수를 출력해준다
Swift 전체 코드
var i = 0
citations.sorted(by: >).forEach { i += i >= $0 ? 0 : 1 }
return i
반응형