n
편 중, h
번 이상 인용된 논문이 h
편 이상이고 나머지 논문이 h
번 이하 인용되었다면 h
의 최댓값 구하기Key Idea
- 배열을
내림차순
으로 정렬한 후,인덱스
보다 해당인덱스의 배열값
이 크거나 같은 인덱스중 최댓값을 구하면 됩니다
import java.util.Arrays;
import java.util.Collections;
class Solution {
public int solution(int[] citations) {
int answer = 0;
Integer[] array = Arrays.stream(citations).boxed().toArray(Integer[]::new);
Arrays.sort(array, Collections.reverseOrder());
for (int i = 0; i < array.length; i++)
if(array[i] >= i + 1)
answer = Integer.max(answer, i + 1);
return answer;
}
}
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class SolutionTest {
Solution solution;
@BeforeEach
public void setSol(){
solution = new Solution();
}
@Test
public void solution_1(){
int result = solution.solution(new int[]{3, 0, 6, 1, 5});
assertEquals(3, result);
}
}