
H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다.
어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다.
어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요.
과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니다.
논문별 인용 횟수는 0회 이상 10,000회 이하입니다.
function solution(citations) {
var answer = 0;
citations.sort((a, b) => b - a);
for(i = 0; i < citations.length; i++){
if(citations[i] > i){
answer++;
}else{
break;
}
}
return answer;
}
H-Index 는 인용된 논문의 수가 발표한 논문의 수와 같아지거나 인용되지 않은 논문의 수가 발표한 논문의 수보다 작아지기 시작하는 숫자이다.
그러므로 논문의 인용 횟수를 담은 배열을 내림차순으로 정렬하고 인용된 횟수가 발표한 논문수보다 크면 answer값에 +1을 해주고 아니면 반복문을 종료하는 식으로 문제를 해결했다.
어제 ping을 전송하는 로직을 추가했다. 클라이언트 부분은 익숙하지 않아 강의 내용을 바탕으로 전송 로직을 추가했는데 오늘 올라온 해설 영상을 보니 내 전송 로직은 반쪽짜리 로직이었다.
서버에서 보내주고 받는 부분은 있었지만 클라이언트에서 다시 보내주는 부분이 작성되지 않았었다.. 분명 해당내용도 클라이언트 코드를 조금만 더 뜯어봤으면 해결할 수 있었을텐데..아쉽다..
벌써 개인과제가 끝나버렸다. 강의 내용을 우다다다보고 또 우다다다 따라한 느낌이었던거 같아 이해가 모자른 부분이 조금 있는 것 같다. 오늘 남은시간과 주말에 다시 공부하며 팀프로젝트를 준비해야겠다.
https://velog.io/@v_rien/%EB%A9%80%ED%8B%B0%ED%94%8C%EB%A0%88%EC%9D%B4-%EA%B0%9C%EC%9D%B8%EA%B3%BC%EC%A0%9C-%ED%8A%B8%EB%9F%AC%EB%B8%94-%EC%8A%88%ED%8C%85 해당 글에 따로 작성했다. 진짜 조금만 생각했었으면 없었을문제들이었는데 너무 아쉽다.