1486. 장훈이의 높은 선반

2023. 9. 25. 15:22·swea

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV2b7Yf6ABcBBASw&categoryId=AV2b7Yf6ABcBBASw&categoryType=CODE&problemTitle=%EC%9E%A5%ED%9B%88&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

def dfs(idx, tmp):
    global min_h
    if idx >= n:  # 사람이 최대가 됐을 때 
        return
    tmp += h[idx]  # 더한 키들 누적합(탑 높이)
    if tmp >= b:  # 탑 높이가 목표값 이상일 경우
        if min_h > abs(b - tmp):	# 차이의 최솟값 갱신
            min_h = abs(b - tmp)
    # 사람 수 한명씩 늘리기(인덱스+1)
    dfs(idx + 1, tmp)	# 그 사람의 키를 더한 경우(선택o)
    dfs(idx + 1, tmp - h[idx])	# 그 사람의 키를 더하지 않은 경우(선택x)
    
T = int(input())
for tc in range(1,T+1):
    n, b = map(int,input().split())
    h = list(map(int,input().split()))
    min_h = 200001	# 점원 키의 최대가 200000
    dfs(0,0)	# 0명, 0cm부터 시작
    print(f'#{tc} {min_h}')

 

저작자표시 (새창열림)

'swea' 카테고리의 다른 글

[S/W 문제해결 기본] 10일차 - Contact  (0) 2023.09.25
1795. 인수의 생일 파티  (0) 2023.09.25
1952. [모의 SW 역량테스트] 수영장  (0) 2023.09.25
2819. 격자판의 숫자 이어 붙이기  (0) 2023.09.25
7465. 창용 마을 무리의 개수  (0) 2023.09.25
'swea' 카테고리의 다른 글
  • [S/W 문제해결 기본] 10일차 - Contact
  • 1795. 인수의 생일 파티
  • 1952. [모의 SW 역량테스트] 수영장
  • 2819. 격자판의 숫자 이어 붙이기
버그잡는고양이발
버그잡는고양이발
주니어 개발자입니다!
  • 버그잡는고양이발
    지극히평범한개발블로그
    버그잡는고양이발
  • 전체
    오늘
    어제
    • 분류 전체보기 (381)
      • React (16)
      • Next.js (5)
      • Javascript (5)
      • Typescript (4)
      • Node.js (2)
      • Cs (16)
      • 트러블 슈팅 (5)
      • Html (1)
      • Css (3)
      • Django (0)
      • vue (0)
      • Java (1)
      • Python (0)
      • 독서 (1)
      • 기타 (3)
      • 백준 (192)
      • swea (31)
      • 프로그래머스 (30)
      • 이코테 (4)
      • 99클럽 코테 스터디 (30)
      • ssafy (31)
      • IT기사 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 인기 글

  • 태그

    Til
    개발자취업
    항해99
    99클럽
    코딩테스트준비
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
버그잡는고양이발
1486. 장훈이의 높은 선반
상단으로

티스토리툴바