-
프로스래머스(Level 2) - H-IndexCoding Test/Coding Test 문제 풀이 2022. 1. 28. 11:33
문제 설명
코딩테스트 연습 - H-Index
H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표
programmers.co.kr
풀이
처음 지문을 읽어 봤을 때 무슨 문제인지 감을 못 잡았다. 지문을 2, 3번 반복해서 읽어보니 어떤 문제인지 대충 알 것 같은 느낌이었다.
"논문 n 편 중, h 번 이상 인용된 논문이 h 편 이상이고 나머지 논문이 h 번 이하 인용되었다면 h의 최댓값이 H-Index이다."라고 지문에 나와있다. 이 문장을 해석해보자면 h 번 이상 인용된 논문이 h 편 이상인 h의 최댓값을 구하라는 문제이다.
우선, 논문 인용 수가 담긴 배열을 오름차순으로 정렬하였다. 초기 h의 값을 논문의 개수로 지정하고 하나씩 감소시키며 논문 인용 수와 비교해나감으로써 문제를 해결할 수 있었다.
전체 소스코드
import java.io.*; import java.util.*; class Solution09 { public int solution(int[] citations) { int answer = 0; Arrays.sort(citations); // 0, 1, 3, 5, 6 for (int i = 0; i < citations.length; i++) { int h = citations.length - i; // 5, 4, 3, 2, 1 if (h <= citations[i]) { answer = h; break; } } return answer; } }
728x90'Coding Test > Coding Test 문제 풀이' 카테고리의 다른 글
프로그래머스(Level 3) - 가장 먼 노드 (0) 2022.01.29 프로그래머스(Level 2) - 카펫 (0) 2022.01.28 프로그래머스 (Level 3) - 가장 큰 수 (0) 2022.01.27 프로그래머스 (Level 3) - 여행경로 (0) 2022.01.27 프로그래머스 (Level 3) - 단어 변환 (0) 2022.01.26