smwhee
[코딩도장_문제95] h-index & g-index 본문
package codingDojang;
import java.util.Arrays;
/*
* h-index & g-index
*
* 연구자의 연구업적을 평가할 때 사용되는 지표 중 h-index와 g-index라는 것이 있다.
* h-index : 인용 횟수가 h번 이상인 논문이 h개일 때 가능한 h의 최댓값
* g-index : 인용 횟수가 높은 상위 g개 논문의 인용 횟수 총합이 g²이상일 때 가능한 g의 최댓값
* 어떤 학자가 쓴 논문 각각의 인용 횟수가 주어질 때, h-index와 g-index를 계산하시오.
*
* e.g.)
* 입력 : 0 15 4 0 7 10 0
* h-index : 4
* g-index : 6
*/
public class Question_095 {
public static void main(String[] args) {
int[] list = {0, 15, 4, 0, 7, 10, 0};
int len = list.length;
int highNum = 0;
int cnt = 0;
int result = 0;
int square = 0;
int sum = 0;
Arrays.sort(list);
highNum = list[len - 1];
for(int i = 0; i <= highNum; i++) {
for(int j = 0; j < len; j++) {
if(list[j] >= i) {
cnt++;
}
}
if(i == cnt) {
result = i;
}
cnt = 0;
}
System.out.println("h-index: " + result);
for(int i = 1; i <= len; i++) {
square = i * i;
for(int j = len - 1; j >= len - i; j--) {
sum += list[j];
}
if(sum >= square) {
result = i;
}
sum = 0;
}
System.out.println("g-index: " + result);
}
}
'Development' 카테고리의 다른 글
[코딩도장_문제97] 두 개의 버전을 비교하는 프로그램을 작성하시오. (0) | 2017.09.23 |
---|---|
[코딩도장_문제96] Printing OXs (0) | 2017.09.22 |
[코딩도장_문제94] 가성비 최대화 (0) | 2017.09.20 |
[코딩도장_문제93] 0~9까지의 숫자가 각각 한 번 씩만 사용된 것인지 확인하는 함수를 구하시오. (0) | 2017.09.19 |
[코딩도장_문제90] CamelCase를 Pothole_case 로 바꾸기! (0) | 2017.09.18 |
![](https://img.linkprice.com/files/glink/lotteon/20220916/8h6AZum4ePQlI_320x50.png)