Algorithm/SW Expert Academy

[Python] 1486. 장훈이의 높은 선반

느낌표 공장장 2021. 10. 9. 00:00
def bfs(i, top_h):
    global answer

    if b <= top_h:  # 점원들이 쌓은 탑의 합이 선반보다 높아졌다면
        answer = min(answer, top_h) # 최소 높이로 갱신
        return

    if i == n:  # 기저까지 들어왔다면 들어가
        return

    bfs(i+1, top_h+heights[i])  # 현재 키 선택하고 들어가
    bfs(i+1, top_h) # 현재 키 선택 X 들어가


tc = int(input())
for idx in range(1, tc+1):
    n, b = map(int, input().split())    # 점원의 수 n, 선반의 높이 b
    heights = list(map(int, input().split()))   # 점원들의 키

    answer = 99999999
    bfs(0, 0)
    print('#{} {}'.format(idx, abs(b-answer)))

'Algorithm > SW Expert Academy' 카테고리의 다른 글

[Python] 2105. 디저트 카페  (0) 2021.10.12
[Python] 4012. 요리사  (0) 2021.10.12
[Python] 쉬운 거스름돈  (0) 2021.10.08
[Python] 1861. 정사각형 방  (0) 2021.10.08
[Python] 2819. 격자판 이어붙이기  (0) 2021.10.08