aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvamsimeenavilli <vamsi.meenavilli@gmail.com>2022-11-19 13:39:05 +0530
committervamsimeenavilli <vamsi.meenavilli@gmail.com>2022-11-19 13:39:05 +0530
commit9db703e2384db7e814a381e48bff0bce7df8122b (patch)
tree3b550fb81db865edeebd3048e5ac22f06a1b873b
parente98bdc7fef8f588ed2466b8e23760060a33ee8e6 (diff)
downloadperlweeklychallenge-club-9db703e2384db7e814a381e48bff0bce7df8122b.tar.gz
perlweeklychallenge-club-9db703e2384db7e814a381e48bff0bce7df8122b.tar.bz2
perlweeklychallenge-club-9db703e2384db7e814a381e48bff0bce7df8122b.zip
weekly challenge 191 python solution
-rwxr-xr-xchallenge-191/vamsi-meenavilli/python/ch-1.py27
-rwxr-xr-xchallenge-191/vamsi-meenavilli/python/ch-2.py41
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()