Archives
Recent Posts
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
11번가
Today
Total
05-20 00:07
관리 메뉴

smwhee

[코딩도장_문제95] h-index & g-index 본문

Development

[코딩도장_문제95] h-index & g-index

smwhee 2017. 9. 21. 00:00

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);

}


}

Comments