From db5ffff46ce7a5f46f50dce151f8de19b070d5bd Mon Sep 17 00:00:00 2001 From: Michael Manring Date: Mon, 1 Jul 2024 21:57:42 +1000 Subject: pwc276 solution in python --- challenge-276/pokgopun/python/ch-2.py | 53 +++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 challenge-276/pokgopun/python/ch-2.py (limited to 'challenge-276/pokgopun/python/ch-2.py') 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() -- cgit