프로그래머스 - H-index

Lumi·2021년 12월 3일
0

알고리즘

목록 보기
49/59
post-thumbnail

처음 이 문제를 접했을떄 상당히 난감했다.

왜냐하면 조건을 어떻게 잡아야 할지 생각이 나지 않았기 떄문이다.

function solution(citations) {
  let MaxNum = -1;
  for (let i = 0; i < citations.length; i++) {
    let x = citations[i];
    if (x === 0) {
      continue;
    }
    let point = 0;
    for (let j = 0; j < citations.length; j++) {
      if (citations[j] / x >= 1) {
        point++;
      }
    }
    console.log(point);
    MaxNum = Math.max(MaxNum, point);
  }
}

처음에 일단 무작정 짜본 코드이다.

이떄 if문을 통해서 검증을 하고 답을 도출해 내려고 했지만

이러한 방법으로는 해결 할 수가 없는 문제였다.

function solution(citations) {
  citations.sort((a, b) => b - a);

  let ans = 0;
  for (let i = 0; i < citations.length; i++) {
    if (i < citations[i]) {
      ans++;
    }
  }

  return ans;
}

다른 방식으로 문제를 풀어본 결과이다.

이 방식을 생각하려면 일단 h-index가 무엇인지에 대한 정보가 필요했고 그에따른 정보를 취하면서 알아낸 방식이다.

코드가 많이 어렵지는 않으니 코드에 대한 내용을 넘어가도록 하겠다.

profile
[기술 블로그가 아닌 하루하루 기록용 블로그]

0개의 댓글

관련 채용 정보