Today we will see the HackerRank Day 19 Solution in Python. The problem is named 2D Arrays, part of 30 Days of code on HackerRank. Let’s get started!
Day 19: Interfaces Problem statement
We are given the AdvancedArithmetic interface and the method declaration for the abstract divisorSum(n) method. We have to complete the implementation of the Calculator class, which implements the AdvancedArithmetic interface. Also, have to implement the divisorSum method must return the sum of all divisors of the input.
Sample Input
6
Sample Output
I implemented: AdvancedArithmetic
12
Explanation: The integer 6 is evenly divisible by 1, 2, 3, and 6. Our divisorSum method should return the sum of these numbers, which is 1+2+3+6=12. The Solution class then prints I implemented: AdvancedArithmetic on the first line, followed by the sum returned by divisorSum (which is 12) on the second line.
You can solve the problem here.
HackerRank Day 19 Solution in Python
#Create Interface AdvancedArithmetic class AdvancedArithmetic(object): def divisorSum(n): raise NotImplementedError #Create class Calculator class Calculator(AdvancedArithmetic): #Method to calculate sum of divisors def divisorSum(self, n): total = 1 for i in range(2, n+1): if n % i == 0: total += i return total #Get input from user n = int(input()) #Create object for Calculator classs my_calculator = Calculator() s = my_calculator.divisorSum(n) print("I implemented: " + type(my_calculator).__bases__[0].__name__) print(s)
Code Explanation:
- First, we create the Calculator class
- Then, we create a method divisorSum, which is declared in the AdvancedArithmetic interface
- In the divisorSum method, we calculate the sum of the divisors of the input given
Also Read:
- HackerRank Day 8 Solution in Python: Dictionaries and Maps
- HackerRank Day 7 Solution in Python: Arrays
- HackerRank Day 6 Solution in Python: Let’s review
- HackerRank Day 5 Solution in Python: Loops
- HackerRank Day 4 Solution in Python: Class vs Instance
- HackerRank Day 3 Solution in Python: Intro to Conditional Statements
- HackerRank Day 2 Solution in Python: Operators
- HackerRank Day 1 Solution in Python: Data Types
- HackerRank Day 0 Solution in Python: Hello World
- HackerRank Day 29 Solution in Python: Bitwise AND
- HackerRank Day 28 Solution in Python: RegEx, Patterns, and Intro to databases
- HackerRank Day 27 Solution in Python: Testing
- HackerRank Day 26 Solution in Python: Nested Logic
- HackerRank Day 25 Solution in Python: Running Time and Complexity
- HackerRank Day 24 Solution in Python: More Linked Lists
- HackerRank Day 23 Solution in Python: BST Level Order Traversal
- HackerRank Day 22 Solution in Python: Binary Search Trees
- HackerRank Day 20 Solution in Python: Sorting
- HackerRank Day 19 Solution in Python: Interfaces
- HackerRank Day 18 Solution in Python: Queues and Stacks
- HackerRank Day 17 Solution in Python: More Exceptions
- HackerRank Day 16 Solution: Exceptions – String to Integer
- HackerRank Day 15 Solution in Python: Linked List
- HackerRank Day 13 Solution in Python: Abstract Classes
- HackerRank Day 14 Solution in Python: Scope
- HackerRank Day 12 Solution in Python: Inheritance
- HackerRank Day 11 Solution in Python: 2D Arrays
- HackerRank Day 10 Solution in Python: Binary Numbers