오늘은 학부 마지막 종착역이자 엔드포인트인 졸업작품 프로젝트 발표회가 있었다. 그래서 공부에 많이 집중할 수 없었는데, 뭔가 아쉬우면서도 최종 피드백을 듣고 엔드포인트를 돌려고하니 4년의 시간이 주마등처럼 지나가면서 묵었던 체중이 내려가는 것 같았다..
직접 서비스를 기획하고 만들고, 피칭 준비까지 팀장의 무게는 나름 잘 견뎠다고 생각했다...
본론으로 넘어가서 금일은 많은 공부를 못했다......
오늘 공부한 내용은 재귀함수에 대해 공부했다. 알고리즘의 단골 문제....
알고리즘 강의 2주차 8에 있는 재귀함수를 간단하게 공부하고 백준 문제로 이 것을 적용해서 풀어보았다.
우선 재귀함수가 무엇이나? 재귀는 자기를 호출하는 프로세스를 가지는 함수인데, 이 알고리즘을 이용해 다양한 문제를 해결 할 수 있는데 반드시! 루프에 대해 탈출을 정의해줘야 한다
대표적인 재귀함수 문제는 팩토리얼!
그럼 팩토리얼이 무엇인데??
팩토리얼은 주어진 n 까지의 정수를 곱한 것을 의미한다( 1 ~ n 까지 )
ex) 5! => 5 * 4 * 3 * 2 * 1
그럼 이 함수를 어떻게 콜해서 내가 원하는 계산을 할 수 있을까?
( 종이를 꺼내서 조금만 논리적으로 생각해보면 쉽다..)
계속 자기를 호출하면서 루프를 돌게되고, 0일떄 리턴이 1, 루프를 탈출한다.
내일은 강의에 나오는 재귀함수를 이용해 입력된 문자열을 입력받고, 입력된 문자열이 재귀 호출을 통해 좌 우측이 같은지 비교하는 함수를 만들어 봐야겠다
'TIL(Today I Learned)' 카테고리의 다른 글
Day.14 타임어택 및 웹 애플리케이션 (0) | 2022.11.16 |
---|---|
Day.13 알고리즘 학습 (회문 문자열)속 toUpperCase (0) | 2022.11.15 |
Day.10 Binary Search(이진 탐색) - 백준 1920번(수 찾기) (0) | 2022.11.11 |
Day.9 자료구조 그리고 알고리즘 언어의 선택(Linked List) (1) | 2022.11.10 |
Day.8 Basic algorithm langu- python (0) | 2022.11.09 |