논문배열을 역정렬하거나, Arrays.sort를 해서 뒤부터 찾도록 하자.
원소의 인용횟수(인자) vs 정렬한 배열에서 원소보다 크거나 같은 갯수(루프 반복횟수) 를 세어서 역전이 일어나기 바로 직전이 H-Index.
import java.util.*;
class Solution {
public int solution(int[] citations) {
int answer = 0;
Arrays.sort(citations);
int len = citations.length;
for (int i = len - 1; i >= 0; i--) {
int citation = citations[i];
int iy = len - i;
if(iy <= citation) {
answer = iy;
} else {
break;
}
}
return answer;
}
}
다른사람들의 풀이를 보니 Math.min, Math.max를 사용하는 방법도 있지만 역시나 원리는 동일하다.
출처: 프로그래머스 코딩 테스트 연습,
https://programmers.co.kr/learn/challenges
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] (완전탐색) 소수 찾기 (0) | 2021.03.27 |
---|---|
[프로그래머스] (완전탐색) 모의고사 (0) | 2021.03.25 |
[프로그래머스] (정렬) 가장 큰 수 (0) | 2021.03.25 |
[프로그래머스] (스택/큐) 프린터 (0) | 2021.03.23 |
[프로그래머스] (스택/큐) 기능개발 (0) | 2021.03.23 |
댓글