Reduce Function in Python HackerRank Solution

Hello Programmers, In this post, you will know how to solve the Reduce Function in Python HackerRank Solution. This problem is a part of the HackerRank Python Programming Series.

Reduce Function in Python HackerRank Solution
Reduce Function in Python HackerRank Solutions

One more thing to add, don’t directly look for the solutions, first try to solve the problems of Hackerrank by yourself. If you find any difficulty after trying several times, then you can look for solutions.

Reduce Function in Python HackerRank Solution


Given a list of rational numbers,find their product.

Concept :The reduce() function applies a function of two arguments cumulatively on a list of objects in succession from left to right to reduce it to one value. Say you have a list, say [1,2,3] and you have to find its sum.

>>> reduce(lambda x, y : x + y,[1,2,3])

You can also define an initial value. If it is specified, the function will assume initial value as the value given, and then reduce. It is equivalent to adding the initial value at the beginning of the list. For example:

>>> reduce(lambda x, y : x + y, [1,2,3], -3)
>>> from fractions import gcd
>>> reduce(gcd, [2,4,8], 3)

Input Format :

First line contains n, the number of rational numbers.
The ith of next n lines contain two integers each, the numerator (Ni) and denominator(Di) of the ith rational number in the list.

Constraints :

  • 1 <= n <= 100
  • 1 <= Ni, Di <= 10^9

Output Format :

Print only one line containing the numerator and denominator of the product of the numbers in the list in its simplest form, i.e. numerator and denominator have no common divisor other than 1.

Sample Input :

1 2
3 4
10 6

Sample Output :

5 8

Explanation :

Required product is 1/2 3/4 10/6 = 5/8

Reduce Function in Python HackerRank Solutions

from fractions import Fraction
from functools import reduce
def product(fracs):
    # Reduce Function in Python - Hacker Rank Solution START
    t = Fraction(reduce(lambda x, y: x * y, fracs)) # complete this line with a reduce statement
    # Reduce Function in Python - Hacker Rank Solution END
    return t.numerator, t.denominator
if __name__ == '__main__':
    fracs = []
    for _ in range(int(input())):
        fracs.append(Fraction(*map(int, input().split())))
    result = product(fracs)

Disclaimer: The above Problem (Reduce Function in Python) is generated by Hackerrank but the Solution is Provided by BrokenProgrammers. This tutorial is only for Educational and Learning purposes.

Next: Re.split() in python HackerRank Solution

Leave a Reply

Your email address will not be published. Required fields are marked *