728x90
반응형
이번 문제는 진짜 문제를 이해하는데 많은 시간이 들었다.
문제가 뭔소린지 모르니 문제를 풀줄도 몰랐다. 그래서 풀이를 봤지만 풀이를 봐도 이해를 할수가 없었다.
내가 이해가 바로 갔던 사이트는 아래 사이트였다.
https://www.ibric.org/myboard/read.php?Board=news&id=270333
위 사이트에서 보고 내가 이해한 것은 아래와 같다.
h-index를 구하는 이유는 논문 쓴 사람의 논문의 영향력? 같은걸 확인하기 위해서이다.
그걸 알려면 일단 내가 쓴 논문들을 인용수를 제일 큰수부터 나열해야한다.
그럼 나의 인용수에 따른 논문들이 몇편인지 나올텐데 거기서 인용수와 해당 논문에 따른 나의 논문 편수가 같아지면
그게 h-index가 되는것이다.
따라서 논문수도 많고 인용수도 많아지게 되면 h-index가 커지기 때문에 h-index가 크면 권위있는 학자나 단체로 볼수 있다.
그럼 이제 소스를 보자.
import java.util.*;
class Solution {
public int solution(int[] citations) {
int answer = 0;
//오름차순으로 정렬
Arrays.sort(citations);
int len = citations.length;
for(int i = len; i>0;i--){
if(citations[len-i] >= i ){
answer = i;
break;
}
}
return answer;
}
}
일단 인용수를 오름차순으로 정렬했고 그다음엔
index가 인용수보다 커질때 index를 answer에 넣고 break하게 하였다.
참조 사이트 : https://blog.naver.com/hyoun1202/222114539364
느낀점
1. 문제가 뭘 원하는지 알자.
2. 규칙을 찾아보려고 해보자.
3. 모를땐 주변분들에게 여쭤보자.
반응형
'코딩일기 > 알고리즘' 카테고리의 다른 글
[프로그래머스 : 레벨2] 소수 찾기 : 재귀호출 (Java) (0) | 2021.06.08 |
---|---|
[프로그래머스 : 레벨1] 모의고사 (Java) (0) | 2021.06.08 |
[자료구조] 퀵정렬 (Java) (0) | 2021.06.04 |
[프로그래머스 : 레벨 2] 가장 큰수 : Array.sort 와 퀵정렬 (Java) (0) | 2021.06.03 |
[프로그래머스 : 레벨1] K번째 수 : 선택정렬(Java) (0) | 2021.06.02 |