코드업 3321 : 최고의 피자 (그리디) with Python

코드업 3321 : 최고의 피자 (그리디)

문제 바로가기

<문제풀이>

토핑 칼로리를 내림차순으로 정렬하고 토핑을 추가하며 1달러당 열량의 수가 최대를 찾는다.

<내 코드>

tT=int(input()) #토핑 타입 받기
dP,tP=map(int, input().split()) #도우 가격, 토핑 가격 받기
dC=int(input()) #도우 열량
tC=[]  #토핑 칼로리 리스트 선언

for i in range(tT):
  tC.append(int(input())) #토핑 칼로리들 받기

dCP=dC/dP #도우 1달러 당 열량
max=dCP #도우 1달러 당 열량을 max로 
tC.sort(reverse=True) #큰 토핑 칼로리로 내림차순 정렬
count=1 #토핑 종류 카운트

for i in range(tT):#토핑 타입만큼 반복
  tCP=(dC+sum(tC[:count]))/(dP+tP*count)#토핑을 하나씩 추가해보면서 1달러당 열량의 수 최대를 찾음
  if(dCP>tCP):break #도우 열량이 제일 크면 break
    
  if(max<tCP):
    max=tCP
    count+=1
  
print(int(max))

😂 문제를 이해하자
😂 간단하게 생각하자

좋은 웹페이지 즐겨찾기