diff options
| author | Michael Manring <michael@manring> | 2024-07-01 21:57:42 +1000 |
|---|---|---|
| committer | Michael Manring <michael@manring> | 2024-07-01 21:57:42 +1000 |
| commit | db5ffff46ce7a5f46f50dce151f8de19b070d5bd (patch) | |
| tree | 9c416472a2eab887a0a3fc51a1a6e5c631cea7d8 /challenge-276/pokgopun/python/ch-2.py | |
| parent | f18cb7a95e46b9ded70a2d1d932d0bb7b1772a67 (diff) | |
| download | perlweeklychallenge-club-db5ffff46ce7a5f46f50dce151f8de19b070d5bd.tar.gz perlweeklychallenge-club-db5ffff46ce7a5f46f50dce151f8de19b070d5bd.tar.bz2 perlweeklychallenge-club-db5ffff46ce7a5f46f50dce151f8de19b070d5bd.zip | |
pwc276 solution in python
Diffstat (limited to 'challenge-276/pokgopun/python/ch-2.py')
| -rw-r--r-- | challenge-276/pokgopun/python/ch-2.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/challenge-276/pokgopun/python/ch-2.py b/challenge-276/pokgopun/python/ch-2.py new file mode 100644 index 0000000000..358fed0eb9 --- /dev/null +++ b/challenge-276/pokgopun/python/ch-2.py @@ -0,0 +1,53 @@ +### https://theweeklychallenge.org/blog/perl-weekly-challenge-276/ +""" + +Task 2: Maximum Frequency + +Submitted by: [42]Mohammad Sajid Anwar + __________________________________________________________________ + + You are given an array of positive integers, @ints. + + Write a script to return the total number of elements in the given + array which have the highest frequency. + +Example 1 + +Input: @ints = (1, 2, 2, 4, 1, 5) +Ouput: 4 + +The maximum frequency is 2. +The elements 1 and 2 has the maximum frequency. + +Example 2 + +Input: @ints = (1, 2, 3, 4, 5) +Ouput: 5 + +The maximum frequency is 1. +The elements 1, 2, 3, 4 and 5 has the maximum frequency. + __________________________________________________________________ + + Last date to submit the solution 23:59 (UK Time) Sunday 7th July 2024. + __________________________________________________________________ + +SO WHAT DO YOU THINK ? +""" +### solution by pokgopun@gmail.com + +def maxFreq(ints: tuple): + ic = tuple((e, ints.count(e)) for e in set(ints)) + mf = max(e[1] for e in ic) + return sum( mf for e in ic if e[1]==mf) + +import unittest + +class TestMaxFreq(unittest.TestCase): + def test(self): + for inpt,otpt in { + (1, 2, 2, 4, 1, 5): 4, + (1, 2, 3, 4, 5): 5, + }.items(): + self.assertEqual(maxFreq(inpt),otpt) + +unittest.main() |
