aboutsummaryrefslogtreecommitdiff
path: root/challenge-283/paulo-custodio/python/ch-2.py
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-283/paulo-custodio/python/ch-2.py')
-rw-r--r--challenge-283/paulo-custodio/python/ch-2.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/challenge-283/paulo-custodio/python/ch-2.py b/challenge-283/paulo-custodio/python/ch-2.py
new file mode 100644
index 0000000000..f325700e3b
--- /dev/null
+++ b/challenge-283/paulo-custodio/python/ch-2.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python3
+
+# Challenge 283
+#
+# Task 2: Digit Count Value
+# Submitted by: Mohammad Sajid Anwar
+#
+# You are given an array of positive integers, @ints.
+#
+# Write a script to return true if for every index i in the range 0 <= i < size
+# of array, the digit i occurs exactly the $ints[$i] times in the given array
+# otherwise return false.
+# Example 1
+#
+# Input: @ints = (1, 2, 1, 0)
+# Ouput: true
+#
+# $ints[0] = 1, the digit 0 occurs exactly 1 time.
+# $ints[1] = 2, the digit 1 occurs exactly 2 times.
+# $ints[2] = 1, the digit 2 occurs exactly 1 time.
+# $ints[3] = 0, the digit 3 occurs 0 time.
+#
+# Example 2
+#
+# Input: @ints = (0, 3, 0)
+# Ouput: false
+#
+# $ints[0] = 0, the digit 0 occurs 2 times rather than 0 time.
+# $ints[1] = 3, the digit 1 occurs 0 time rather than 3 times.
+# $ints[2] = 0, the digit 2 occurs exactly 0 time.
+
+import sys
+
+def digit_count_true(ints):
+ count = {}
+ for i in range(len(ints)):
+ count[i] = 0
+ for x in ints:
+ if x in count:
+ count[x] += 1
+ else:
+ count[x] = 1
+ for i in range(len(ints)):
+ if count[i] != ints[i]:
+ return False
+ return True
+
+ints = [int(x) for x in sys.argv[1:]]
+print('true' if digit_count_true(ints) else 'false')