백트래킹 100프로 내힘으로 처음 맞춰봄...
어떤 강의에서 들은건데
백트래킹에서 쓰는 재귀함수 인자는 그 깊이와 관련있다고 보면 됨(몇개 뽑을건지 or 몇일인지...)
for문에서는 뭔가 고를 게 있을 때 그 길이를 최대치로 해서 하나씩 고르고 - 만약에 중복 안되는거면 저렇게 배열을 하나 만들어서 뽑은거 기록해주고
제일 중요한 건 다음 재귀함수로 뭘 넘겨줄건지 ?
그러면 자기가 알아서 끝까지 갔다가 없으면 다시 돌아오고를 반복해줌
이 문제도 어찌보면 숫자 123중에 123 / 132 / 213 등등 어떻게 뽑을건지를 물어보는 거랑 비슷함
+ 뽑았을 때 조건이 충족하는지 ? ( 여기서는 현재중량 - k + 뽑은 키트의 중량 증가량 >= 500 ? )
+ 중복으로 뽑을 순 없으니 뽑은 건 미리 기록해주기
만약에 조건에 충족해서 그 날 키트를 먹었으면 변화된 중량을 다음 재귀함수 인자로 계속 넣어주면 됨
'코딩테스트 연습' 카테고리의 다른 글
Merge Sort/퀵 정렬 (0) | 2023.03.21 |
---|---|
백준 11728 배열 합치기 (정렬) (0) | 2023.03.20 |
백준 14888 - 연산자 끼워넣기 (0) | 2023.03.15 |
백준 15652 - N과 M (4) (1) | 2023.03.13 |
백준 15650 - N과 M (1) (0) | 2023.03.13 |