PS

[백준/Python] (D5) 라면 사기 (Small) - 18185

MSHUN 2024. 3. 7.
반응형

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] 인 상황만 잘 고려하면 금방 풀리는 문제다.

🤔느낀 점

생각보다 쉽다

Baekjoon Online Judge

반응형

댓글