백준 2798 풀이

Updated:

2798

블랙잭

IPO

I : 카드의 개수(3 ≤ N ≤ 100) , 타겟 (N ≤ 100000)
카드에 쓰여진 양의 정수

  • (띄어쓰기 구분)

P : 입력받은 수들 타겟에서 가장 가까운 수의 합 찾기 (단: 합이 타겟보다 클 수 는 없음)

O : 합이 타겟보다 작으면서 타겟과 가장 근사한 값

n, m = map(int, input().split())
a = list(map(int, input().split()))
b = len(a)
sum = 0
for i in range(0, b - 2):
        for j in range(i + 1, b - 1):
                for k in range(j + 1, b):
                        if a[i] + a[j] + a[k] > m:
                                continue
                        else:
                                sum = max(sum, a[i] + a[j] + a[k])
print(sum)

입력받은 숫자를 리스트에 넣고, 각각 더하면서 , 가장 근사한 값을 변경해가며 답을 찾음

Leave a comment