for x in poss_comb:
for y in x:
sum_list.append(sum(y)) 여기에서
for y in x:를 제외하고 sum(x)로 해야 3가지로 무작위 조합된 리스트의 합이 나올 것으로 보입니다.
그리고 closest_number = min(sum_list, key=lambda z:abs(z-M)) 이렇게 쓰게 되면 M을 넘게되는 수인데도 가까운 수가 포함되어 있어서
import itertools
N, M = map(int,input().split())
given_cards = list(map(int,input().split()))
poss_comb = []
poss_comb.append(list(itertools.combinations(given_cards,3)))
sum_list = []
for x in poss_comb:
#애초에 M을 넘지 않는 수로 걸러서 합계를 받음
if M - sum(x) >= 0:
sum_list.append(sum(x))
#M을 넘지 않는 조합들이기 때문에 문제 없이 처리 됨
closest_number = min(sum_list, key=lambda z:abs(z-M)
print(closest_number)
한 번 채점 해 보시겠습니까
제 뇌피셜입니다^^
samcomi 2년 전
어느 부분이 틀렸는지 모르겠네요 ㅠ 확인해 주시면 감사하겠습니다