개발공부/코딩테스트 연습문제
[프로그래머스] Level.2 H-Index (JAVA)
ku-na
2022. 2. 7. 13:49
문제 설명과 제한사항

풀이
import java.util.*;
class Solution {
public int solution(int[] citations) {
int answer = 0;
Arrays.sort(citations);
for(int i = 0; i < citations.length ; i++){
int count = citations.length - i;
if(citations[i] >= count) {
answer = count;
break;
}
}
return answer;
}
}
++
level.2 문제 중에선 쉬운 난이도의 문제 같다.
풀이는 처음으로 citations[i]의 값보다 큰 값들의 갯수가 citations[i]보다 커질때 값을 찾는 방식이었다.
예를 들면 [3, 0, 6, 1, 5] 를 정렬 -> [0, 1, 3, 5, 6]
일때
i == 0 -> count = 5 - 0 = 5
0 >= 5 false
i == 1 -> count = 4
1 >= 4 false
i == 2 -> count = 3
3 >= 3 true
이때 count = citations[i] 보다 큰 값의 갯수.
그러므로 i ==0, 1 일때는 h번 이상 인용된 논문이 h편 이상이지만 최댓값이 아님.