티스토리 뷰

문제 링크

H-Index

문제 조건

  • H-Index는 과학자의 생산성과 영향력을 나타내는 지표이다.
  • 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 한다.
  • 과학자가 발표한 논문 n 편 중, h 번 이상 인용된 논문이 h 편 이상이고 나머지 논문이 h번 이하 인용되었다면 h가 H-Index이다.
  • 과학자가 발표한 논문의 수는 1 ~ 1,000 이다.
  • 논문별 인용 횟수는 0 ~ 10,000 이다.

변수 설명

  • 매개변수
    • citations : 각 논문의 인용 횟수를 가지는 배열
  • h : 인용 횟수
  • len : citations의 크기
  • answer : H-Index

코드 설명

  1. citations을 정렬해준다.

    • Arrays.sort() 이용
  2. citations의 각 원소가 len - i보다 크거나 같으면 H-Index가 len - i 가 된다.

    • i = 0 ~ len
    • h = citations[i]

      배운 점

  • compareTo
    • A와 B가 같으면 : 0
    • A가 B보다 크면 : 양수
  • A가 B보다 작으면 : 음수
  • Integer.toString(int 변수) : Int to String
  • Integer.parseInt(string 변수) : String to Int;

문제 해답


import java.util.Arrays;

class Solution {
    public int solution(int[] citations) {
        int answer = 0;
        int h;
        Arrays.sort(citations);
        int ln = citations.length;
        for(int i = 0; i < ln; i++){
            h= citations[i];
            if(h >= (ln - i)){
                answer = (ln - i);
                break;
            }
        }
        return answer;
    }
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함