[백준] 2961번 : 도영이가 만든 음식

Narcoker·2023년 6월 9일
0

코딩테스트

목록 보기
108/150

문제

https://www.acmicpc.net/problem/2961

풀이

재료들의 조합들을 구한다.
조합 시 반드시 1개 이상의 재료를 사용해야 한다.
신 맛은 곱하고 쓴 맛은 더한다.

최종적으로 만든 맛의 수치와 result를 비교하여
작은 값을 result에 재할당한다.

import sys
from itertools import combinations

N = int(input())
foods = [list(map(int, input().split())) for _ in range(N)]

def solution(N, foods):
    result = sys.maxsize
    for combi in [combinations(foods, i) for i in range(1, N + 1)]:
        for c in combi:
            sour, bitter = 1, 0
            for s, b in c:
                sour *= s
                bitter += b
            result = min(result, abs(sour - bitter))
    print(result)

solution(N, foods)
profile
열정, 끈기, 집념의 Frontend Developer

0개의 댓글