반응형
문제
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
🐍파이썬
def dfs(v, t_sum, k_sum):
global max_taste
if k_sum > l: #칼로리 합이 l을 넘어서면 종료
return
if max_taste < t_sum: #max_taste 값 갱신
max_taste = t_sum
if v == n: #마지막 노드까지 탐색한 경우 종료
return
taste, kcal = arr[v] #현재 인덱스의 노드에서 taste, kcal 꺼냄
#재료를 사용한 경우(현재 인덱스 노드의 taste, kcal 더하기)
dfs(v+1, t_sum+taste, k_sum+kcal)
#재료를 사용하지 않은 경우
dfs(v+1, t_sum, k_sum)
T = int(input())
for test_case in range(1, T + 1):
n, l = map(int, input().split())
arr = [list(map(int, input().split())) for _ in range(n)]
max_taste = 0
dfs(0, 0, 0)
print("#{} {}".format(test_case, max_taste))
dfs로 재료를 넣는 경우, 넣지 않는 경우 모든 경우의 수를 탐색하여 문제를 풀었다.
유사한 문제
[프로그래머스] 타겟 넘버(깊이/너비 우선 탐색(DFS/BFS)
[프로그래머스 | 파이썬 / 자바스크립트] 타겟 넘버(깊이/너비 우선 탐색(DFS/BFS)/level 2)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘
florescene.tistory.com
반응형
'Problem Solving > SWEA' 카테고리의 다른 글
[SWEA|파이썬] 2805. 농작물 수확하기 (D3) (0) | 2023.05.08 |
---|---|
[SWEA|파이썬] 2806. N-Queen (D3) (1) | 2023.05.07 |
[SWEA|파이썬] 1208. [S/W 문제해결 기본] 1일차 - Flatten (D3) (0) | 2023.05.07 |
[SWEA|파이썬] 1244. [S/W 문제해결 응용] 2일차 - 최대 상금 (D3) (0) | 2023.05.07 |
[SWEA|파이썬] 1206. [S/W 문제해결 기본] 1일차 - View (D3) (0) | 2023.05.06 |
[SWEA|파이썬] 16800. 구구단 걷기 (D3) (0) | 2023.04.26 |