[Programmers] H-Index - JavaScript

Joosi_Cool·2023년 2월 9일
0

Programmers

목록 보기
15/98
post-thumbnail

문제설명



설계 과정

  1. 우선 내림차순으로 입력 배열 정렬
  2. 앞에 있는 제일 큰 값 기준으로 확인
    -> 배열을 한바뀌 돌면서 left, right 개수를 구함.
    -> 그 후에 left, right를 기준으로 한 값으로 문제에서 제시한 조건이 맞는지 확인.
    -> 맞다면 그 값을 리턴


풀이 코드

function solution(citations) {
    //내림차순으로 정렬
    citations = citations.sort((a,b)=>{return a>b?-1:1});
    var num = citations[0];
   while(true){
       var left = 0;
       var right =0;
       citations.forEach(element=>{
           if(num<=element){
               left++
           }
           else{
               right++;
           }
       })
       if(num<=left&&num>=right)return num;
       else{
        num--;
       }
   }
}


결과

이 문제에서 시간이 좀 오래걸렸는데, 그 이유는 입력 배열 값 중에 하나가 답이라고 생각해서였다. 이 부분만 빠르게 눈치 챘다면 더 빠르게 문제를 풀 수 있었겠다는 아쉬움이 남았다.

profile
집돌이 FE개발자의 노트

0개의 댓글