코딩테스트

[프로그래머스] H-Index

개발하는 봉구 2022. 8. 26. 14:24
function solution(citations) {
    //https://school.programmers.co.kr/learn/courses/30/lessons/42747#qna     
    // 1. 논문을 많이 인용된 순으로 정렬 
    // 2. index와 citations 두 숫자를 비교하며 내려갑니다.
    // 3. 두 숫자가 같아지거나 citations가 index보다 더 작아지기 시작하는 직전의 숫자를 찾아냅니다
    return citations.slice(0)
            .sort((a,b)=> b - a)
            .reduce((acc,cur,index,array)=> index < array[index] ? acc += 1 : acc,0)
}

프로그래머스 문제를 이해하기 너무 어려워서 위키피아 설명을 참조했습니다.

 

for문으로 break를 해야 불필요한 동작을 줄일수 있지만 짧게 표현하기위해 reduce를 이용했습니다.