1.5볼트 2023. 3. 24. 20:40
728x90

곡괭이가 광물을 보다 적다면 일단 앞에서 몇 개까지 가능한지 뽑는다
그리고 뽑은 광물은 순서가 상관없으니까 곡괭이 했을 때 피로도가 몇씩 다는지 확인한다
그러면 그 합이 가장 큰 광물들이 가장 좋은 곡괭이로 때려야 함
순서대로 곡괭이 소모하면서 피로도 더해준다 원하는 단어나 문장을 입력해 주세요.

def solution(pic, t):
    a=b=c=0
    l=[]
    for n,i in enumerate(t,start=1):
        if i[0]=="d":
            a+=1
        elif i[0]=="i":
            b+=1
        else:
            c+=1
        if n%5==0:
            l.append([a,b,c])
            a=b=c=0
    if a+b+c!=0:
        l.append([a,b,c])
    l=l[:sum(pic)]
    t=sorted([(i[0]*1+i[1]*1+i[2]*1,i[0]*5+i[1]*1+i[2]*1,i[0]*25+i[1]*5+i[2]*1) for i in l],key=lambda x:-sum(x))
    s=0
    for n,i in enumerate([0]*pic[0]+[1]*pic[1]+[2]*pic[2]):
        if n>len(t)-1:
            break
        s+=t[n][i]
    return s