订单
某网上购物商店库存的所有商品用一个字符串表示,每种字符代表一种商品(字符都是大写字母,假设商品种类不超过26)。
另外用一个字符串表示接到的一批订单。请你编写程序,判断商店库存商品能否满足订单,如能输出“yes”,不能输出“no”。
例如:
商店的库存商品是ABAABC,订单是BACBB,不能满足订单要求,因为B商品库存2件,而订单需求是3件。
输入:
第一行一个由大写字母组成的字符串s,长度不超过100,代表商店的库存商品;
第二行一个由大写字母组成的字符串t,长度不超过100,代表订单。
输出:
一个字符串,代表商店库存商品能否满足订单,如能输出“yes”,不能输出“no"。
输入样例1:
ABAABC
BACBB
输出样例1:
no
输入样例2:
ABAABC
BBAA
输出样例2:
yes
参考答案:
#参考程序1:
s = input()
t = input()
b = True
dic = {}
for i in s: #遍历s,记录每个字母出现次数
dic[i] = s.count(i)
for i in t: #遍历t,将每个字母出现次数对应减少
if i in dic.keys():
dic[i] -= 1
else:
b = False
for i in dic.values(): #检查字典是否每项都大于等于0
if i < 0:
b = False
if b == True:
print('yes')
else:
print('no')
#参考程序2:
s = input()
t = input()
a = [0] * 26
for i in s:
a[ord(i) - ord('A')] += 1
for i in t:
a[ord(i) - ord('A')] -= 1
b = True
for i in range(26):
if a[i] < 0:
b = False
break
if b == True:
print("yes")
else:
print("no")