코딩테스트 연습

백준 18429 - 근손실

gurwhddl 2023. 3. 16. 00:25

백트래킹 100프로 내힘으로 처음 맞춰봄...

 

                            어떤 강의에서 들은건데

백트래킹에서 쓰는 재귀함수 인자는 그 깊이와 관련있다고 보면 됨(몇개 뽑을건지 or 몇일인지...)

for문에서는 뭔가 고를 게 있을 때 그 길이를 최대치로 해서 하나씩 고르고 - 만약에 중복 안되는거면 저렇게 배열을 하나 만들어서 뽑은거 기록해주고

제일 중요한 건 다음 재귀함수로 뭘 넘겨줄건지 ?

그러면 자기가 알아서 끝까지 갔다가 없으면 다시 돌아오고를 반복해줌

 

이 문제도 어찌보면 숫자 123중에 123 / 132 / 213 등등 어떻게 뽑을건지를 물어보는 거랑 비슷함
+ 뽑았을 때 조건이 충족하는지 ? ( 여기서는 현재중량 - k + 뽑은 키트의 중량 증가량 >= 500 ? )
+ 중복으로 뽑을 순 없으니 뽑은 건 미리 기록해주기
만약에 조건에 충족해서 그 날 키트를 먹었으면 변화된 중량을 다음 재귀함수 인자로 계속 넣어주면 됨