프로그래머스(정렬) - H-Index
해당 문제를 이해하는것에 시간이 걸렸었는데, h는 n을 절대 넘을수 없고, h의 최대값 또 한 n 이상이 될수 없다는 것을 알 수 있습니다(0 <= h <= n) 그리고 입력받은 citations을 오름차순으로 정렬 하고 제일 처음의 값이 조건을 만족한 경우 h의 최대 값은 n 다음값이 만족할 경우 h의 최대 값은 h - 1 이라는것을 알 수 있습니다.
ex) n = 5, ci[] = {5,6,7,8,9} 인경우 h-index 는 5, ci[] = {4,6,7,8,9} 일때 h-index는 4
public int solution(int[] citations) {
int answer = 0;
int n = citations.length;
int[] copiedCitations = Arrays.copyOf(citations, n);
Arrays.sort(copiedCitations);
for(int i = 0; i < n; i++) {
int h = citations.length - i;
if(copiedCitations[i] >= h) {
answer = h;
break;
}
}
return answer;
}
'정리 > 알고리즘' 카테고리의 다른 글
완전탐색 - 소수찾기 (0) | 2022.02.19 |
---|---|
완전탐색 - 모의고사 (0) | 2022.02.17 |
정렬-가장 큰 수 (0) | 2022.02.15 |
정렬-K번째 수 (0) | 2022.02.14 |
힙(Heap)-디스크 컨트롤러 (0) | 2022.02.10 |
댓글