2Ju0
Ju0.log
2Ju0
전체 방문자
오늘
어제
  • 🐱‍🚀 모두보기 (32)
    • CS (18)
      • LLVM (11)
      • 운영체제 (1)
      • 보안 (3)
      • 프로그래밍언어 (0)
      • 데이터과학 (3)
    • PL (1)
      • Python (1)
      • JavaScript (0)
    • Algorithm (12)
      • Python (0)
      • Javascript (12)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
2Ju0

Ju0.log

[Programmers] H-Index - JavaScript
Algorithm/Javascript

[Programmers] H-Index - JavaScript

2023. 4. 28. 01:42

문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

내 풀이

function solution(citations) {
    var answer = 0;
    citations.sort((a, b) => b - a);
    
    for (let i = 0; i < citations.length; i++) {
        if (citations[i] >= i + 1) answer++;
        else break;
    }
    return answer;
}

문제가 이해가 제법 어려웠다. 문제 이해하다가 잠시 놓치면 뇌가 살짝 꼬이는 기분이였다. 2학년 때 자료구조 시간에 코테 볼 때도 이 문제 있었는데 그때도 제대로 이해 못했음..ㅎ

문제만 읽었을 때는 citations의 특정 값이 H-Index인줄 알았다. 근데 계속 틀리길래 검색해보니 논문 갯수의 최대 값을 구하는 거였다.

  • 먼저, 논문(citations)을 내림차순으로 정렬한다.
  • 논문의 수(i)를 하나씩 늘려가면서, 논문의 수(i)가 인용된 수(citations[i])와 같거나 작아지는 시점에서 멈춘다. 그리고 그때 카운팅한 논문의 수가 H-Index 값이다.

다시 말해, 인용된 수(citations[i])를 하나하나 확인해보고, 그 횟수보다 더 많이 인용된 논문들의 갯수의 최대값을 구하면 된다.

저작자표시 (새창열림)
    'Algorithm/Javascript' 카테고리의 다른 글
    • [Programmers] N개의 최소공배수 - JavaScript
    • [Programmers] 캐시 - JavaScript
    • [Programmers] 피보나치 수 - JavaScript
    • [Programmers] 영어 끝말잇기 - JavaScript
    2Ju0
    2Ju0

    티스토리툴바