재귀

강인호·2023년 4월 13일
0

코딩

목록 보기
2/13

23.04.13

강의 링크

https://www.youtube.com/watch?v=7ehRBjl4wVc

  • 밑의 3개의 사진이 생김새가 비슷하다
    제일 앞의 숫자 뒤로 괄호 해놓은게

23.04.14

강의 링크

https://www.youtube.com/watch?v=lRDQRsFjqLk

  • 재귀함수를 볼때 제일 작게 쪼개진 상태를 넣어보는게 어떨까?
  • 위 사진은 S라는 리스트 안에 있는 숫자들을 정렬하는 함수인데
    리스트안에 5개의 숫자가 있다면으로 생각하지말고 1개나 2개의 숫자만 있다고 가정하고 코드를 읽어보면 쉬울것 같다는 생각이 들었다

문제 링크

https://www.acmicpc.net/problem/15649

  • 재귀 연습할때 도움된다고 함

23.04.19

링크

https://www.youtube.com/watch?v=8cSjBQtqEXY

23.04.21

재귀(DFS)

링크

https://www.youtube.com/watch?v=7C9RgOcvkvo

문제

  • 문제 해석
    0으로만 이루어진 구역이 몇개 인지 구해라

  • 코드를 보기전에 재귀를 전부 계산 하려 하지말고 혼자 돌게 냅둔다?고 생각해봐라

  1. 재귀를 돌릴거다
  2. 재귀는 어렵다
  3. 근데 재귀는 혼자 알아서 돌아간다
  4. 지금부터 문제 해결 방안을 설명
  5. 코드를 보면 for 문으로 네모 하나하나를 전부 검사하게 되어잇다
  6. 그럼 자기 혼자 돌아가는 재귀를 어떻게 이용 하냐?
  7. 0인 네모가 나오면 1로 바꿔준다
  8. 그후 1로 바꾼 네모를 기준으로 상하좌우를 탐색하게 하는 재귀를 사용 한다
  9. 그럼 마지막엔 지나간 0은 전부 1로 바껴있으니 멈추게 될것 아닌가
  10. 멈추게 돼면 return True 를 해준다
  11. 이미 0을 찾은 시점 부터 거긴 0으로만 이루어진 구역이 한개 발견 된거다
  12. 그다음 네모도 위와 같이 재귀로 0을 찾으면 된다
  13. 지나온 네모는 이미 0에서 1로 바꿔 놨으니 다시 검색할 우려는 없다

정답

profile
개발자 되고싶다

0개의 댓글