본문 바로가기

공부/코딩테스트

(1일 1코딩)프로그래머스 H-Index[JAVA]

728x90

코딩테스트 연습 - H-Index | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - H-Index

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

programmers.co.kr

오늘 리뷰할 코드는 프로그래머스 H-Index

 

사실 이문제는 문제이해는 했으나 어떻게 구현해야하는지 감이안와서

 

이중포문으로 하다가 하다가 안돼서(될리가없지 ㅠㅠ)

 

다른분의 풀이를 참고했습니다.

 

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 h = citations.length - i;
            
            if (citations[i] >= h) {
                answer = h;
                break;
            }
        }
                
        return answer;
    }
}

논문 인용횟수가 담긴 배열을 정렬한 후

 

논문의 갯수-i를 반복하며 최대 인용횟수를 찾으면 되는 쉬운문제였어요(어차피 최대h는 논문의 갯수인것을...껄껄;;)

 

아직 알고리즘해결에 익숙하지 않아 감이 잘 오지않네요...

 

서둘러 인강 듣고 알고리즘 접근법을 더 연습해봐야겠어요