반응형
풀이
1. H-index는 n편의 논문에서 h번 이상 인용된 논문이 h편 이상인 경우 중 최대값이 되는 h다.
(h번 이하에 대한 조건도 있었는데, 사실 필요 없어 보인다.)
2. 먼저 인용횟수를 정렬한다.
3. 논문 전체 n편을 기준으로 n, n-1, n-2, ... , 0번 인용된 것(h번)으로 내려오면서 몇 편이 인용되었는지, h편 이상인지 확인했다.
전체 소스코드
import java.util.*;
class Solution {
public int solution(int[] citations) {
int answer = citations.length;
Arrays.sort(citations);
while(true) {
int cnt = 0;
for (int i = citations.length-1 ; i >= 0; i--) {
if (answer <= citations[i]) cnt++;
}
if (answer <= cnt) break;
answer--;
}
return answer;
}
}
풀이 중 9번 테스트케이스가 안풀리는 상황이 있었는데, 중간에 반복문에서 0을 제외하고 진행했었음. 0을 포함하도록 코드를 변경하고 해결됨.
'Algorithm' 카테고리의 다른 글
[Algorithm] 프로그래머스 디스크 컨트롤러 (0) | 2021.07.05 |
---|---|
[Algorithm] 프로그래머스 더 맵게 (0) | 2021.07.04 |
[Algorithm] 프로그래머스 K번째 수 (0) | 2021.07.02 |
[Algorithm] 프로그래머스 소수 찾기 (0) | 2021.07.01 |
[Algorithm] 프로그래머스 모의고사 (0) | 2021.06.30 |