[Programmers][Java] H-Index

6390 단어 Javalevel2Java

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

📒 문제


📒 제한사항


🌻 코드

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

class Solution {
    public int solution(int[] citations) {
     	int answer = 0;
        Arrays.sort(citations);
        List<Integer> list = new ArrayList<>();
        
        // 내림차순으로 list에 넣어주기
        for (int i = citations.length - 1; i >= 0; i--) {
            list.add(citations[i]);
        }
        
        for (int i = 0; i < list.size(); i++) {
            // 인덱스는 1부터 유효하다. 따라서 , i+1 
            if (i + 1 <= list.get(i)) {
                if (i + 1 == list.get(i)) {
                    answer = i + 1;
                    break; // 같은값이면 더 볼 필요도 없다 ! 
                } else answer = i + 1;
            }
        }
        return answer;
    }
}

💡 정리하기

👉 문제 설명만 보고 코드를 짜니까 계속 틀린 답이 나왔었다. 위키피디아 볼 생각을 안 했었는데 들어가보니까 h-index를 구하는 방법이 잘 나와있었다. ' 인덱스 값보다 작아지기 시작하는 수가 h-index다 ' 라는 말에 꽂혀서 계속 틀렸었다.

좋은 웹페이지 즐겨찾기