Shopping Cart
Programming Interview
Medium
9 views
Problem Description
You will receive q commands: ADD item price, REMOVE item, TOTAL. Create Cart class. TOTAL prints sum of prices of current items.
Input Format
First line q. Next q lines commands.
Output Format
Outputs for TOTAL.
Sample Test Case
Input:
7
ADD pen 10
ADD book 50
TOTAL
REMOVE pen
TOTAL
REMOVE book
TOTAL
Official Solution
import sys
lines=sys.stdin.read().splitlines()
if not lines: sys.exit(0)
q=int(lines[0].strip())
class Cart:
def __init__(self):
self.mp={}
self.total=0
def add(self,item,price):
if item in self.mp:
self.total-=self.mp[item]
self.mp[item]=price
self.total+=price
def remove(self,item):
if item in self.mp:
self.total-=self.mp[item]
del self.mp[item]
def get_total(self):
return self.total
c=Cart()
out=[]
for i in range(1,1+q):
parts=(lines[i] if i<len(lines) else '').split()
if not parts: continue
if parts[0]=='ADD':
c.add(parts[1],int(parts[2]))
elif parts[0]=='REMOVE':
c.remove(parts[1])
else:
out.append(str(c.get_total()))
print('\
'.join(out))
Solutions (0)
No solutions submitted yet. Be the first!
No comments yet. Start the discussion!