diff options
Diffstat (limited to 'challenge-283/paulo-custodio/python/ch-2.py')
| -rw-r--r-- | challenge-283/paulo-custodio/python/ch-2.py | 49 |
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') |
