반응형
Baekjoon Online Judge의 18185번 라면 사기 (Small) 문제의 Python풀이입니다.
18185번: 라면 사기 (Small)
라면매니아 교준이네 집 주변에는 N개의 라면 공장이 있다. 각 공장은 1번부터 N번까지 차례대로 번호가 부여되어 있다. 교준이는 i번 공장에서 정확하게 Ai개의 라면을 구매하고자 한다(1 ≤ i
www.acmicpc.net
💻코드
N = int(input())
An = list(map(int, input().split())) + [0, 0]
cost = 0
def f(d, m, s):
global cost
for i in d:
An[i] -= m
cost += s * m
for i in range(N):
if An[i+1] > An[i+2]:
f([i, i+1], min(An[i], An[i+1] - An[i+2]), 5)
f([i, i+1, i+2], min(An[i:i+3]), 7)
f([i], An[i], 3)
else:
f([i, i+1, i+2], min(An[i:i+3]), 7)
f([i, i+1], min(An[i], An[i+1]), 5)
f([i], An[i], 3)
An[i] = 0
print(cost)
🧠풀이
An[i+1] > An[i+2] 인 상황만 잘 고려하면 금방 풀리는 문제다.
🤔느낀 점
생각보다 쉽다
반응형
댓글