diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2023-03-08 21:24:09 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-08 21:24:09 +0000 |
| commit | bbd3eedb1d1a2179450a2af48054b874c6719cbe (patch) | |
| tree | 9e61bbaad409a9746addaf9f9ba3e347d6c2d0c2 /challenge-207/spadacciniweb/python/ch-2.py | |
| parent | 5c6863b58f6dce5acf6539c9c5e0cd33f0b860c4 (diff) | |
| parent | fe7a96b4ba5dc964a27bb8bb683f15dc619c21b6 (diff) | |
| download | perlweeklychallenge-club-bbd3eedb1d1a2179450a2af48054b874c6719cbe.tar.gz perlweeklychallenge-club-bbd3eedb1d1a2179450a2af48054b874c6719cbe.tar.bz2 perlweeklychallenge-club-bbd3eedb1d1a2179450a2af48054b874c6719cbe.zip | |
Merge pull request #7695 from spadacciniweb/PWC-207
PWC-207 - Perl, Python, Ruby, Go
Diffstat (limited to 'challenge-207/spadacciniweb/python/ch-2.py')
| -rw-r--r-- | challenge-207/spadacciniweb/python/ch-2.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/challenge-207/spadacciniweb/python/ch-2.py b/challenge-207/spadacciniweb/python/ch-2.py new file mode 100644 index 0000000000..8f83d5ff81 --- /dev/null +++ b/challenge-207/spadacciniweb/python/ch-2.py @@ -0,0 +1,33 @@ +# Task 2: H-Index +# Submitted by: Mohammad S Anwar +# +# You are given an array of integers containing citations a researcher has received for each paper. +# Write a script to compute the researcher’s H-Index. For more information please checkout the wikipedia page. +# +# The H-Index is the largest number h such that h articles have at least h citations each. For example, if an author has five publications, with 9, 7, 6, 2, and 1 citations (ordered from greatest to least), then the author’s h-index is 3, because the author has three publications with 3 or more citations. However, the author does not have four publications with 4 or more citations. +# +# +# Example 1 +# Input: @citations = (10,8,5,4,3) +# Output: 4 +# +# Because the 4th publication has 4 citations and the 5th has only 3. +# +# Example 2 +# Input: @citations = (25,8,5,3,3) +# Output: 3 +# +# The H-Index is 3 because the fourth paper has only 3 citations. + +import re +import sys + +if __name__ == "__main__": + input = sys.argv[1:] + if (len(input) < 1 + or + len(list(filter(lambda x: re.search(r'\D', x), input))) > 0): + sys.exit("Input error") + + input = sorted(list(map(int, input)), reverse=True) + print("Output: {:d}".format(len([i for i in range(len(input)) if input[i] >= i+1]))) |
