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

MEIN_FIGUR·2021년 10월 10일
0

SWEA_문제풀이

목록 보기
21/21

📌풀이


내가 쓴 풀이(성공)

  • Bit Masking 사용하여 경우의 수 판단
  • 계산한 높이 tmpB보다 크거나 같으면서 가장 낮은 탑 res보다 낮은 경우, tmpres에 저장
T = int(input())
for tc in range(1, T+1):
    N, B = map(int, input().split())
    emps = list(map(int, input().split()))
    
    res = 10000*N # 변수 초기화
    
    # Bit Masking
    for i in range(1, 2**N): 
        tmp = 0
        for j in range(N):
            if i & (1<<j):
                tmp += emps[j]
        
        if tmp >= B and res > tmp :
            res = tmp
    
    print(f'#{tc} {res-B}')


📌후기


비트마스킹을 써본 횟수가 적어서 아쉬웠는데, 이 기회에 비트마스킹을 써볼 수 있어서 좋았다. 다른 경우에서도 더 많이 활용해 봐야겠다!

profile
Growing Developer

1개의 댓글

comment-user-thumbnail
2021년 10월 17일

댓글알바 시키려고 알려달라는건 안알려주고,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

답글 달기