문제: https://programmers.co.kr/learn/courses/30/lessons/42747
시뮬레이션 문제입니다.
논문이 인용될 수 있는 최대 크기만큼 int[] 배열을 잡아놓은 뒤 논문 정보가 들어올 때 마다 해당 논문 인용 횟수를 ++ 해줍니다.
int[] refCounts;
refCounts[1] = 1번 인용된 논문의 갯수
refCounts[2] = 2번 인용된 논문의 갯수
refCounts[3] = 3번 인용된 논문의 갯수
H-Index의 최댓값을 구해야하므로 (최대 인용 횟수 ~ 최소 인용 횟수)만큼 for loop를 돌며 해당 인용 횟수가 H-Index 조건을 만족하는지 확인합니다. 만족하면 바로 break로 빠져나와서 해당 횟수를 정답으로 리턴하면 됩니다.
H-Index 조건을 만족하는지 확인하는 방식은 현재 refCounts 배열을 전부 순회해보면 h번 이상 인용된 논문의 갯수, h번 이하로 인용된 논문의 갯수를 알 수 있습니다.
코드: https://github.com/cotchan/algorithm/blob/main/PRGRMS/H-Index.java
'Algorithm > Programmers' 카테고리의 다른 글
[PRGRMS]92343번: 양과 늑대 (0) | 2022.03.23 |
---|---|
[PRGRMS]92341번: 주차 요금 계산 (0) | 2022.03.17 |
[PRGRMS]72411번: 메뉴 리뉴얼 (0) | 2022.03.15 |
[PRGRMS]49191번: 순위 (0) | 2022.03.15 |
[PRGRMS]1844번: 게임 맵 최단거리 (0) | 2022.03.11 |