Instagram
youtube
Facebook
Twitter

Python No Idea! HackerRank Solution

Task

There is an array of n integers. There are also 2 disjoint sets, A and B, each containing m integers. You like all the integers in set A and dislike all the integers in set B. Your initial happiness is 0. For each i integer in the array, if i belongs to A, you add 1 to your happiness. If i belongs to B, you add -1 to your happiness. Otherwise, your happiness does not change. Output your final happiness at the end.

Note: Since A and B are sets, they have no repeated elements. However, the array might contain duplicate elements.

Constraints

  • 1 <= n <= 105

  • 1 <= m <= 105

  • 1 <= Any integer in the input <= 109

Input Format

The first line contains integers n and m separated by a space.
The second line contains n integers, the elements of the array.
The third and fourth lines contain m integers, A and B, respectively.

Output Format

Output a single integer, your total happiness.

Sample Input

 

3 2
1 5 3
3 1
5 7

Sample Output

1

Explanation

You gain 1 unit of happiness for elements 3 and 1 in set A. You lose 1 unit for 5 in set B. The element 7 in set B does not exist in the array so it is not included in the calculation.

Hence, the total happiness is 2 – 1 = 1.

Solution:

if __name__ == "__main__":
    happiness = 0
    n, m = map(int, input().strip().split(' '))
    elements_arr = list(map(int, input().strip().split(' ')))
    
    A = set(map(int, input().strip().split(' ')))
    B = set(map(int, input().strip().split(' ')))
    
    for i in elements_arr:
        if i in A:
            happiness += 1
        elif i in B:
            happiness -= 1
    print(happiness)

Steps Used in solving the problem -

Step 1:  First we have taken the input of n,m, and elements_arr.
Step 2: then we have also taken the input of A and B as a set.
Step 3: then we used a for loop in elements_arr.
Step 4: Inside For loop we used an if condition to check if i is in A then add 1 unit to happiness and elif to check if i is in B then subtract 1 unit from happiness.
Step 5: At last we printed happiness.