GaGe

[프로그래머스] H-Index - java (문제 해설 포함) 본문

알고리즘/[2020] 프로그래머스

[프로그래머스] H-Index - java (문제 해설 포함)

Sorrel 2020. 5. 19. 17:54
import java.util.ArrayList;
import java.util.List;
class Solution {
    public int solution(int[] citations) {
        int answer = 0;
        List<Integer> list = new ArrayList<>();
        for( int j = 0 ; j <citations.length; j++){ //List를 Arraylist에 넣는 작업
            list.add(citations[j]);
        }
        list.sort(null);//list 오름차순으로 정렬
        
        for( int i = 0 ; i<list.size(); i++ ){
        //h회 이상 인용된 편 수가 h건 이상이 될 때가 h의 최댓값
        //더 자세히 설명하자면 (건과 회에 집중해서 읽어주세요)
        //리스트     :  0  /  1  /  3  /  5  /  6
        //인용횟수 h : 5회 / 4회 / 3회 / 2회 / 1회
        //인용건수 h : 2건 / 2건 / 3건 / 3건 / 4건
        //인용건수 h건이 인용횟수 h회 이상이 시작되는 횟수 = 3회부터 (h == 3)
 
            if((list.size() - i)<=list.get(i)){
                answer=(list.size() - i);
                break;
            }
        }       
        return answer;
    }
}

 

 

 

 

 

 

 

 

import java.util.ArrayList;
import java.util.List;
class Solution {
    public int solution(int[] citations) {
        int answer = 0;
        List<Integer> list = new ArrayList<>();
        for( int j = 0 ; j <citations.length; j++){
            list.add(citations[j]);
        }
        list.sort(null);
        for( int i = 0 ; i<list.size(); i++){
            if((i+1)<=list.get(i)){
                System.out.println(i);
                answer = i+1;
                break;
            }
        }
        return answer;
    }
}

왠지 이거 될 거 같았는데 안 된다. 왤까

Comments