diff options
Diffstat (limited to 'challenge-209/spadacciniweb/python/ch-1.py')
| -rw-r--r-- | challenge-209/spadacciniweb/python/ch-1.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/challenge-209/spadacciniweb/python/ch-1.py b/challenge-209/spadacciniweb/python/ch-1.py new file mode 100644 index 0000000000..88e7289f52 --- /dev/null +++ b/challenge-209/spadacciniweb/python/ch-1.py @@ -0,0 +1,46 @@ +# Task 1: Special Bit Characters +# Submitted by: Mohammad S Anwar +# +# You are given an array of binary bits that ends with 0. +# +# Valid sequences in the bit string are: +# +# [0] -decodes-to-> "a" +# [1, 0] -> "b" +# [1, 1] -> "c" +# Write a script to print 1 if the last character is an “a” otherwise print 0. +# +# Example 1 +# Input: @bits = (1, 0, 0) +# Output: 1 +# +# The given array bits can be decoded as 2-bits character (10) followed by 1-bit character (0). +# +# Example 2 +# Input: @bits = (1, 1, 1, 0) +# Output: 0 +# +# Possible decode can be 2-bits character (11) followed by 2-bits character (10) i.e. the last character is not 1-bit character. + +import re +import sys + +if __name__ == "__main__": + input = sys.argv[1:] + if (len(input) < 1 + or + len(list(filter(lambda x: re.search(r'[^01]', x), input))) > 0): + sys.exit("Input error") + + i = 0 + while i < len(input)-1: + if (input[i] == '1'): + i += 1 + i += 1 + if len(input)-1 == i and input[i] == '1': + sys.exit("Input error") + + if (len(input) > i): + print(1) + else: + print(0) |
