1. 程式人生 > >11.24 吃雞問題

11.24 吃雞問題

思路:首先將相同科目放在一起,然後對超過兩課時的課長進行排序,沒超過的直接把所有課時相加
寫題思路:將科目與課長分成兩個列表,將相同科目的時間放在一起,然後再進行計算
程式碼實現:

n=int(input())
l1=[]
l2=[]
c=0
for i in range(n):
    a,b=input().split(" ")
    if a not in l1:
        l1.append(a)
        l2.append([int(b)])
    else:
        l2[l1.index(a)].append(int(b))
for j in range(len(l1)):
    if len(l2[j])>2:
        l2[j].sort()
        c+=l2[j][-1]
        c+=l2[j][-2]
    else:
        c+=sum(l2[j])
print(c)
        

收穫:這題兩個列表的建立為我提供了新的建立列表的思路,l2.append([int(b)]),新增的列表形式的元素,使l2變成二維列表,使後面l2[l1.index(a)].append(int(b)) 可以實現

`