https://programmers.co.kr/learn/courses/30/lessons/42747
<문제에서 주목해야 할 사항>
어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. → h편 이상과 h편 이하
[정답]
1. 논문별 인용 횟수를 알아보기 위해 for문을 0~len(citations)만큼 돈다. (0회~(논문의 개수)회)
2. 인용된 논문을 yes, 인용되지 않은 논문을 no에 넣어주기 위해 0,0으로 초기화해준다.
3. citations[k]가 만약 i보다 크다면, 즉 i번초과 인용되었다면 yes에 1을 더한다. citations[k]가 만약 i보다 작다면, 즉 i번미만 인용되었다면 no에 1을 더한다. 그 외(citations[k]==i의 경우)는 yes와 no에 각각 1을 더한다.
4. 리스트 citations와 i의 비교가 끝나고, 만약 yes>=i이고 no<=i이면( i번 인용된 논문이 i편 이상이고 나머지 논문이 i번 이하 인용되었을 경우) 일단 i를 최댓값으로 보고 answer에 넣어준다. for문을 돌면서 answer값을 갱신한다.
5. answer을 return한다.
'알고리즘 공부 > 프로그래머스 > Python3' 카테고리의 다른 글
[프로그래머스] JadenCase 문자열 만들기 (0) | 2020.12.05 |
---|---|
[프로그래머스] 전화번호 목록 (0) | 2020.12.04 |
[프로그래머스] 영어 끝말잇기 (0) | 2020.12.02 |
[프로그래머스] 체육복 (0) | 2020.12.02 |
[프로그래머스] 문자열 내 마음대로 정렬하기 (0) | 2020.11.29 |