프로그래머스
[프로그래머스 Level 2] H-Index [Java]
거북이같은곰
2022. 9. 29. 20:44
https://school.programmers.co.kr/learn/courses/30/lessons/42747/solution_groups?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
※. h는 n이하이다. (h <= n)
※. 답이 citations의 원소가 아닐 수도 있다.
[0,3,5,5,5,6]
※.배열의 원소(h번 이상 인용된 논문)와 배열의 길이-i(h번 이상 쓴 논문의 수) 중 작은걸 찾는다.
1.배열의 원소가 작을 때 : (배열의 원소)이상 인용된 논문이 (배열의 원소)이상 있다.
2.배열의 길이-i가 작을 때 : (길이-i)이상 인용된 논문이 (길이-i)이상 있다.
(2번일 때 원소가 아닌 값 중에서 가장 큰 값을 찾을 수 있다. n~1만큼 탐색)
이 중 가장 큰 값을 찾으면 된다.
import java.util.Arrays;
class Solution {
public int solution(int[] citations) {
int answer = 0;
Arrays.sort(citations);
for(int i = 0; i < citations.length; i++) {
int min = Math.min(citations[i], citations.length-i);
answer = Math.max(min, answer);
}
return answer;
}
}