이해를 돕기 위해서 아래 설명을 덧붙인다.
해당 논문이 인용된 수 : [9, 7, 6, 1]
발표된 논문의 수 : [1, 2, 3, 4]
return 3
해설
첫번째 경우를 살펴보면, 논문을 1개 발표했는데, "해당 논문"이 다른 곳에서 9번 인용되었다는 의미이므로
"good"이다라고 볼 수 있고,
마지막의 경우를 살펴보면, 논문을 4개 발표했는데, "해당 논문"은 다른 곳에서 1번 인용되었다는 의미이므로
'bad"라고 볼 수 있다.
→우리의 목표는
인용된 수가 발표된 논문의 수와 같거나
인용된 수가 발표된 논문의 수보다 큰
"경우의 수"를 구하는 것이다.
즉 "good"인 경우를 찾겠다는 의미이다.
해당 논문이 인용된 수 : [15, 12, 10, 8, 6, 3, 2, 1]
발표된 논문 수) : [ 1, 2, 3, 4, 5, 6, 7, 8]
return 5
해당 논문이 인용된 수 : [22, 24]
발표된 논문의 수 : [ 1, 2]
return 2
해당 논문이 인용된 수 : [20, 19, 18, 1]
발표된 논문의 수 : [ 1, 2, 3, 4]
return 3
해당 논문이 인용된 수 : [2]
발표된 논문의 수 : 1
return 1
해당 논문이 인용된 수 :[0]
발표된 논문의 수 : 1
return 0
https://www.ibric.org/myboard/read.php?Board=news&id=270333
[연구논문을 위한 핵심 10단계] H-지수(H-Index) 란 무엇인가?
일반적으로 특정 연구원의 연구성과를 평가하기 위해 얼마나 많은 논문을 발표 하였는지를 보게됩니다. 그러나 단순히 발표한 논문 수로만 그 연구원의 연구 업적을 평가 하기에는 발표한 논문
www.ibric.org
나의 풀이
import java.util.*;
import java.util.stream.Collectors;
class Solution {
public int solution(int[] citations) {
List<Integer> citation = Arrays.stream(citations).boxed().collect(Collectors.toList());
// 정렬 기준을 정의하는 Comparator
Comparator<Integer> comparator = new Comparator<Integer>() {
@Override
public int compare(Integer a, Integer b) {
return b - a;
}
};
// citation 리스트를 내림차순으로 정렬
Collections.sort(citation, comparator);
List<Integer> Num_Paper = new ArrayList<>();
for(int i=1; i<citations.length+1; i++){
Num_Paper.add(i);
}
int cnt=0;
for(int i=0; i<citations.length; i++){
if(citation.get(i)>=Num_Paper.get(i)){
cnt+=1;
}
}
return cnt;
}
}
'프로그래머스(자바) > LV.2(자바)' 카테고리의 다른 글
주차 요금 계산 → 사람이 풀 수 있는 것인가? (0) | 2023.01.03 |
---|---|
더 맵게→ Priority Queue★★+poll()+peek() (0) | 2023.01.02 |
귤 고르기 → getOrDefault()★★ + 요소 개수 세기 + 내림차순★ (0) | 2023.01.02 |
k진수에서 소수 개수 구하기→10진수를 n진법의 문자열+StringBuilder()+소수판별(제곱근, long타입) (0) | 2023.01.02 |
전화번호 목록→ String문자열의 정렬 sort()의 개념★★ (0) | 2023.01.02 |