[BOJ] 15720. 카우버거(python)

레몬커드요거트·2026년 2월 1일

코딩테스트준비

목록 보기
16/66

초기코드

# https://www.acmicpc.net/problem/15720

B, C, D = list(map(int, input().split())) 

burger = list(map(int, input().split())) 
side = list(map(int, input().split())) 
drink = list(map(int, input().split()))

# 내림차순으로 정렬
burger.sort(reverse=True)
side.sort(reverse=True)
drink.sort(reverse=True)

whole = B + C + D

if B == C == D:
  total = sum(whole) * 0.9
else:
  for _ in range(setCount):
    arr = burger.pop() + side.pop() + drink.pop()
    total = sum(arr) * 0.9 + sum(burger) + sum(side) + side(drink)

print(whole)
print(total)

아이디어 → 최솟값을 찾고 그 값으로 배열 돌리기!

# https://www.acmicpc.net/problem/15720

B, C, D = list(map(int, input().split())) 
setCount = min(B,C,D)

burger = list(map(int, input().split())) 
side = list(map(int, input().split())) 
drink = list(map(int, input().split()))

# 내림차순으로 정렬
burger.sort(reverse=True)
side.sort(reverse=True)
drink.sort(reverse=True)

whole = burger + side + drink # 할인 전 가격
for i in range(setCount):
  setArr = burger[i] + side[i] + drink[i]

setPrice = sum(setArr) * 0.9
notSetPrice = sum(burger[setCount:]) + sum(side[setCount:]) + sum(drink[setCount:])

total = setPrice + notSetPrice

print(whole)
print(total)

TypeError: 'int' object is not iterable
setPrice = sum(setArr) * 0.9

for i in range(setCount):
  setArr = burger[i] + side[i] + drink[i]

하나의 리스트로 묶고 싶었음

  • burger[i], side[i], drink[i]각각 정수
  • +숫자 덧셈 연산

결국 정수 하나가 됨

setArr = []

setArr += [burger[i], side[i], drink[i]] 이렇게 선언했어야 리스트가 되었을 것

성공코드

루프돌면서 하나의 리스트로 만든 후 더하기

# https://www.acmicpc.net/problem/15720

B, C, D = list(map(int, input().split())) 
setCount = min(B,C,D)

burger = list(map(int, input().split())) 
side = list(map(int, input().split())) 
drink = list(map(int, input().split()))

# 내림차순으로 정렬
burger.sort(reverse=True)
side.sort(reverse=True)
drink.sort(reverse=True)

whole = sum(burger) + sum(side) + sum(drink) # 할인 전 가격
setArr = []
for i in range(setCount):
  setArr += [burger[i], side[i], drink[i]]

setPrice = sum(setArr) * 0.9
notSetPrice = sum(burger[setCount:]) + sum(side[setCount:]) + sum(drink[setCount:])

total = int(setPrice + notSetPrice)

print(whole)
print(total)

루프돌면서 값 더하기

# https://www.acmicpc.net/problem/15720

B, C, D = list(map(int, input().split())) 
setCount = min(B,C,D)

burger = list(map(int, input().split())) 
side = list(map(int, input().split())) 
drink = list(map(int, input().split()))

# 내림차순으로 정렬
burger.sort(reverse=True)
side.sort(reverse=True)
drink.sort(reverse=True)

whole = sum(burger) + sum(side) + sum(drink) # 할인 전 가격
setPrice = 0
for i in range(setCount):
    setPrice += (burger[i] + side[i] + drink[i]) * 0.9

notSetPrice = sum(burger[setCount:]) + sum(side[setCount:]) + sum(drink[setCount:])

total = int(setPrice + notSetPrice)

print(whole)
print(total)
profile
비요뜨 최고~

0개의 댓글