브루트포스 (+백트래킹) - 2961

LEE'S·2023년 7월 21일
0

백준

목록 보기
16/27

💡 문제 아이디어

  • 조합 을 이용해서 풀기 !!

👀 풀이

# 2961

import sys
import itertools

N = int(sys.stdin.readline())

arr = [list(map(int, sys.stdin.readline().split())) for _ in range(N)]
# ex : [[1,7],[2,6],[3,8],[4,9]]

ans = 1e9

for i in range(1,N+1) : # 조합 개수를 1~N 개까지
    combinations = itertools.combinations(arr,i) # ex : [([1,7],[2,6]),([3,8],[4,9])]
    for com in combinations : # ex : ([1,7],[2,6])
        s , m = 0 , 1
        for j in com : # ex : [1,7]
            m *= j[0]
            s += j[1]
        
        ans = min(ans,abs(s-m))

print(ans)

✏️ itertools ✏️

  • permutations : 순열
    - [(1,2),(2,1)]
  • combinations : 조합
    - [(1,2)]
profile
기록 블로그

0개의 댓글