Header Ad

HackerRank Set .discard(), .remove() & .pop() solution in python

In this Set .discard() .remove() & .pop() problem we need to develop a python program that can read an integer, and string separated with line and then we need to perform all the operations that given in the input and then we need to print the output on the screen.

HackerRank Set .discard(), .remove() & .pop() solution in python


Problem solution in Python 2 programming.

n = int(raw_input())
numbers = set()
for x in (raw_input().split(' ')):
  numbers.add(int(x))
for x in range(int(raw_input())):
  cmd = raw_input().split(' ')
  if cmd[0] == 'pop':
    numbers.pop()
  elif cmd[0] == 'remove':
      numbers.remove(int(cmd[1]))
  else:
    numbers.discard(int(cmd[1]))
print sum(numbers)


Problem solution in Python 3 programming.

num = int(input())
data = set(map(int, input().split()))
operations = int(input())

for x in range(operations):
  oper = input().split()
  if oper[0] == "remove":
    data.remove(int(oper[1]))
  elif oper[0] == "discard":
    data.discard(int(oper[1]))
  else:
    data.pop()
    
print(sum(data))


Problem solution in pypy programming.

# Enter your code here. Read input from STDIN. Print output to STDOUT
n = int(raw_input())
s = set(raw_input().split())
m = int(raw_input())
for i in range (0, m):
    lis = raw_input().split()
    # s,type(s)
    #print lis
    if lis[0] == 'remove':
        s.remove(lis[1])
    if lis[0] == 'discard':
        s.discard(lis[1])
    if lis[0] == 'pop':
        s = set(sorted(s, reverse = True))
        s.pop()
        s = set(sorted(s, reverse = True))

if  len(s) != 0:
    print   sum(map(int, s))
else:
    print "0"


Problem solution in pypy3 programming.

import pdb
m = int(input())
lst=[int(j) for j in input().strip().split()]
lst.reverse()
st=set(lst)
n= int(input())
for i in range(n):
    command = input().strip().split()
    #pdb.set_trace()
    if len(command) ==1 :
        methodToCall = getattr(st, command[0])
        methodToCall()
        #print(st)   
    else:
        commd, *args= [command[0], int(command[1])]
        getattr(st, commd)(*args)
        #print(st)   
print(sum(st))


Post a Comment

0 Comments