- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- First Project
- javascript
- 알고리즘
- LEVEL1
- 면접을 위한 cs 전공지식 노트
- 배포
- CSS
- TWIL
- LEVEL 1
- Refactoring
- 리팩터링 2판
- Err-Handling
- CRUD
- TMIL
- java
- 오늘도 개발자가 안된다고 말했다
- 아고라스테이츠
- 프로그래머스
- TIL
- typescript
- mongodb
- react
- MariaDB
- 에러핸들링
- LEVEL 2
- sql
- 코딩테스트
- Git
- Docker
- 코어 자바스크립트
Archives
성장에 목마른 코린이
재귀 본문
728x90
왜 이 개념을 이해하기 어려웠나요 ? 솔직히 왜 써야하는지도 모르겠고 이해하다가 그냥 머리가 터질것같아요
재귀 Recursion
- 자신이 자신을 호출하는 함수
- 알고리즘 공부의 통곡의 벽: 이게 안되면 디바인드앤컨커, 다이내믹 프로그래밍 다 안된답니다..
- 간략한 쓰는 이유: 일반적으로 반복문보다 느리지만 재귀로 적으면 깔끔해지는 코드를 쓰는데 활용됨
재귀함수로 짜여진 코드들은 for문이나 while문으로 대체가능합니다. 그렇게 하는게 더 쉬운경우도 많습니다.
하지만 배열안에 배열이 있는경우에서 재귀함수가 왜 좋은지 보여줍니다.
아래 코드를 한번 봐보시죠
여기까지만 해도 for문을 두번만 써야해서 괜찮지만
아래처럼 for문을 여러번써야하고 몇번써야할지도 모르는 경우에 재귀함수를 왜 써야하는지 알수있어요
이처럼 재귀함수를 사용하면 보다 효율적으로 짤수있는 종류의 문제들이 있어요
대표적으로 여러단계들을 포함할 수 있는 데이터를 다루는 문제들 그리고 각종 정렬 알고리즘등이 있습니다.
'CodeStates > Section 2 (프론트 + 백엔드)' 카테고리의 다른 글
BFS, DFS, 트리 순회 (0) | 2022.03.15 |
---|---|
재귀 (Recursion) (0) | 2022.03.15 |
OOP (Object Oriented Programming) (0) | 2022.03.15 |
동기 vs 비동기 (0) | 2022.03.09 |
트리, Binary Search Tree (0) | 2022.03.06 |
Comments