diff options
| author | vamsimeenavilli <vamsi.meenavilli@gmail.com> | 2022-11-19 13:39:05 +0530 |
|---|---|---|
| committer | vamsimeenavilli <vamsi.meenavilli@gmail.com> | 2022-11-19 13:39:05 +0530 |
| commit | 9db703e2384db7e814a381e48bff0bce7df8122b (patch) | |
| tree | 3b550fb81db865edeebd3048e5ac22f06a1b873b | |
| parent | e98bdc7fef8f588ed2466b8e23760060a33ee8e6 (diff) | |
| download | perlweeklychallenge-club-9db703e2384db7e814a381e48bff0bce7df8122b.tar.gz perlweeklychallenge-club-9db703e2384db7e814a381e48bff0bce7df8122b.tar.bz2 perlweeklychallenge-club-9db703e2384db7e814a381e48bff0bce7df8122b.zip | |
weekly challenge 191 python solution
| -rwxr-xr-x | challenge-191/vamsi-meenavilli/python/ch-1.py | 27 | ||||
| -rwxr-xr-x | challenge-191/vamsi-meenavilli/python/ch-2.py | 41 |
2 files changed, 68 insertions, 0 deletions
diff --git a/challenge-191/vamsi-meenavilli/python/ch-1.py b/challenge-191/vamsi-meenavilli/python/ch-1.py new file mode 100755 index 0000000000..ec84761a5d --- /dev/null +++ b/challenge-191/vamsi-meenavilli/python/ch-1.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 + +""" +Week 191: + https://theweeklychallenge.org/blog/perl-weekly-challenge-191 + + Task 1: Twice Largest You are given list of integers, @list. Write a script to find out whether the largest item in + the list is at least twice as large as each of the other items. +""" + + +def doesTwiceLargestNumberExists(number_list): + number_list.sort() + + return 1 if number_list[-1] >= number_list[-2] ** 2 else -1 + + +def testDoesTwiceLargestNumberExists(): + assert doesTwiceLargestNumberExists([1, 2, 3, 4]) == -1, 'Example 1 Failed' + assert doesTwiceLargestNumberExists([1, 2, 0, 5]) == 1, 'Example 2 Failed' + assert doesTwiceLargestNumberExists([2, 6, 3, 1]) == 1, 'Example 3 Failed' + assert doesTwiceLargestNumberExists([4, 5, 2, 3]) == -1, 'Example 4 Failed' + + return + + +testDoesTwiceLargestNumberExists() diff --git a/challenge-191/vamsi-meenavilli/python/ch-2.py b/challenge-191/vamsi-meenavilli/python/ch-2.py new file mode 100755 index 0000000000..ebdb9d5199 --- /dev/null +++ b/challenge-191/vamsi-meenavilli/python/ch-2.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 + +""" +Week 191: + https://theweeklychallenge.org/blog/perl-weekly-challenge-192 + + Task 2: Cute List You are given an integer, 0 < $n <= 15. Write a script to find the number of orderings of + numbers that form a cute list. With an input @list = (1, 2, 3, .. $n) for positive integer $n, an ordering of + @list is cute if for every entry, indexed with a base of 1, either +""" + + +def getCuteListCount(number): + cute_list_count = 0 + numbers_list = [i for i in range(1, number + 1)] + + for i in range(number): + numbers_sub_list = numbers_list[i + 1:] + numbers_list[:i] + + for j in range(number - 1): + if isCuteList([numbers_list[i]] + numbers_sub_list[j:] + numbers_sub_list[:j]): + cute_list_count += 1 + + return cute_list_count + + +def isCuteList(number_list): + for index, number in enumerate(number_list, 1): + if not (number % index == 0 or index % number == 0): + return 0 + + return 1 + + +def testGetCuteListCount(): + assert getCuteListCount(2) == 2, 'Example 1 Failed' + + return + + +testGetCuteListCount() |
