Oops, All Code!/🤯 Oops, My Algorithm!

꒰ྀི 15. 프로그래머스:: H-Index

밍동망동 2024. 7. 25. 12:14

사이트 문제도 첨부되지 않고 저작권 걸리는게 무서워 프로그래머스로 회귀했다.

 

 

문제 요약

 

H-Index는 과학자의 생산성과 영향력을 나타낸다.

논문 중 일정 인용 횟수 이상을 받은 논문의 수를 측정한다.

 

접근 방법

 

정렬을 통해 인용 횟수를 내림차순으로 정렬한다.

정렬된 배열을 순회하며 인용 횟수를 비교한다.

 

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

    let h = 0;

    for (let i = 0; i < citations.length; i++) {
        if (citations[i] >= i + 1) {
            h = i + 1;
        } else {
            break;
        }
    }

    return h;
}

 

 

이걸 이렇게 간결하게 푼 사람도 있다.

const solution = (citations) => citations.sort((a, b) => b - a).filter((el, idx) => el >= idx + 1).length;

 

 

보이지도 않게 길어서 이렇게 코드를 작성할 생각은 없지만

그럼에도 불구하고 간결함을 극대화한 코드들을 보면 감탄이 나온다.

 

이정도면 광기다.