본문 바로가기
Algorithm(CodeTree, Python)/완전탐색1

[코드트리 자리 수 단위로 완전탐색] 특정 수와 근접한 합 python

by kurooru 2022. 12. 4.
# n, s 입력
n, s = map(int, input().split())
# num_list 입력
num_list = list(map(int, input().split()))

# 함수들
# calc(a, b)
def calc(a, b):
    
    # curr_sum
    curr_sum = 0

    # num_list의 숫자 중
    for i in range(n):
        # a, b번째 인덱스에 있는 숫자면
        if i == a or i == b:
            # 더하지 않고 통과
            continue
        # 나머지는 curr_sum에 추가
        curr_sum += num_list[i]
    
    # curr_sum과 s의 차이를 반환
    return abs(curr_sum - s)

# 설계
# min_diff 설정
import sys
min_diff = sys.maxsize

# 완전 탐색 시작
for i in range(n-1):
    for j in range(i+1, n):
        # min_diff 업데이트
        min_diff = min(min_diff, calc(i, j))

# 출력
print(min_diff)