본문 바로가기
문제풀이/Programmers 문제풀이

[ 알고리즘 ] 코딩 - Programmers - H-index.java

by 마늘아빠 2021. 1. 20.
728x90
반응형

문제 링크

programmers.co.kr/learn/courses/30/lessons/42747

 

코딩테스트 연습 - H-Index

H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표

programmers.co.kr


* 프로그래머스 - Level 2 - (자바)H_index - 정렬

* H-index라는 문제 자체를 이해하는데 오래걸렸다

H-index 설명

* [5,5,5,5]인 경우에 4편중 4번이상 인용된 논문이 4편이상이고

나머지 논문이 4번이하(나머지논문없음) 이므로 H-index는 4가 된다.

* 논문 배열중에 답이 있을 것이라고 착각해버렸다!

* 문제만 이해한다면 엄청나게 심플하게 풀린다.


< 로직 >

* 정렬을 한다.

* H-index의 로직에 맞게 논문의 수를 센다.

예시1
예시2

 


import java.util.Arrays;
class Solution {
    public int solution(int[] citations) {
            Arrays.sort(citations); // 정렬
	    	
	    	int h_index = 0;
	    	int length = citations.length-1;
	    			
	    	for(int i = length; i >= 0; i--) {
	    		if(h_index < citations[i]) { // H-index 로직
	    			h_index++;
	    		}
	    	}
	    	
	        int answer = h_index;
	        return answer;
    }
}

 

 

반응형