본문 바로가기

알고리즘/Lv. 2

프로그래머스 42747 H-Index 자바스크립트 풀이

728x90

난이도 : Lv. 2

풀이일 : 2412242

https://school.programmers.co.kr/learn/courses/30/lessons/42747

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


문제


아이디어

  • citations를 내림차순으로 정렬한다.
  • 인덱스 0부터 시작해서 인덱스 + 1이 citations[인덱스] 보다 크지 않다면 숫자를 세고 다음 논문을 확인한다.

코드

function solution(citations) {
    let idx = 0
    citations.sort((a, b) => b - a)
    // citations.sort().reverse()
    
    while (idx < citations.length && idx + 1 <= citations[idx]) {
        idx++
    }
    
    return idx
}

 

주석처리한 코드가 처음에 작성한 코드인데, 실패해서 원인을 찾아보았다.

관련 글은 아래에 링크에서 볼 수 있다.

https://chadireoroonu.tistory.com/262

 

Javascript sort 조건정렬과 reverse의 차이

알고리즘을 풀다가 sort((a, b) => b - a) 는 되는데 sort().reverse()는 안되는 이유가 궁금해서 찾아봤다. function solution(citations) { let idx = 0 citations.sort((a, b) => b - a) while (idx 이 코드는 통과가 된다. functi

chadireoroonu.tistory.com


느낀점

  • 자스는 재미있는 것 같기도 하고 아닌 것 같기도 하고