Sam and substrings Discussions | Algorithms | HackerRank
  • + 0 comments

    Solution in Python3:

    #!/bin/python3
    
    import math
    import os
    import random
    import re
    import sys
    
    #
    # Complete the 'substrings' function below.
    #
    # The function is expected to return an INTEGER.
    # The function accepts STRING n as parameter.
    #
    
    def substrings(n):
        # Write your code here
        modulo = int(1e9 + 7)
        result = sub_sum = int(n[0])
    
        for digit_idx in range(1, len(n)):
            digit = int(n[digit_idx])
            digit_presence = digit_idx + 1
            sub_sum = (sub_sum * 10 + digit * digit_presence) % modulo
            result = (result + sub_sum) % modulo
    
        return result
    
    if __name__ == '__main__':
        fptr = open(os.environ['OUTPUT_PATH'], 'w')
    
        n = input()
    
        result = substrings(n)
    
        fptr.write(str(result) + '\n')
    
        fptr.close()