알고리즘 풀이 [재귀함수, DFS - 2]

Lumi·2021년 10월 19일
0

알고리즘

목록 보기
8/59
post-thumbnail

언제쯤 재귀게 익숙해 질까... 이쯤되면 생각보다는 감각으로 재귀를 푸는 것이 아닐까라는 생각이 든다 ㅠ

합이 같은 부분집합

  • DFS함수 안에 있는 return은 무시한다.

아직도 어떻게 작동을 하는지가 잘 그려지지 않는다...

일단 값을 찾게되면 재귀를 그만 돌려야 하기 떄문에 flag변수를 통해서 값을 찾은 이후에는 재귀를 그만 돌리게 만들었다.

사실 재귀라는 것이 for문을 중첩해서 사용해도 해결 할수가 있다.

하지만 프로그래밍이라는 것이 자동으로 해야하기 떄문에 우리가 for문을 들어오는 값에 따라서 추가해 줄수가 없기 떄문에 재귀를 사용 하는 것이다.

최대 점수 구하기

앞서 있는 문제와 동일한 문제이다.

  • 세부적인 사항이 다르고 전체적인 그림은 동일하다.

중복순열 구하기

  • 이 문제가 핵심이라고 생각한다.

앞서 있던 2문제는 DFS기준으로 생각해볼떄 가지가 2개씩만 뻗어 나가는 문제이다.

하지만 이 문제는 for문을 통해서 들어오는 값의 수만큼 가지를 뻗어 나가고 있다.

후기

재귀는 머리로 조건을 잘 생각해보고 그림을 잘 그릴줄 알아야 잘 풀것 같다.

또한 반복적으로 풀어서 특정 재귀 문제를 만났을떄
아 이런 유형이구나
라는 느낌을 받을수 있게 익숙해 져야 한다고 생각한다.

profile
[기술 블로그가 아닌 하루하루 기록용 블로그]

0개의 댓글