-
<TIL> 2024-01-09내일배움캠프(데이터 분석 부트캠프 1기)/TIL & WIL 2024. 1. 9. 23:46
- 오늘 한 것
- 알고리즘 특강 2일차 수강
- Python 알고리즘 코드 카타
- 재귀 쿼리 관련 학습
알고리즘 특강
알고리즘 2일차 강의는 1일차 때 미처 다 끝내지못한 자료구조(트리, 그래프) 강의를 마저 듣고
여러 알고리즘에 대해서 간단히 소개하는 방식으로 진행되었다.
완전 탐색, 이분 탐색, 그리디 알고리즘 등에 대해서 간단히 배웠고
재귀함수에 대해서만 조금 자세히 다루었다.
팩토리얼을 반복문으로 먼저 구현해본 뒤 함수를 재귀 호출하는 형태로 구현하는 코드를 작성하는 실습을 진행했다.
코드는 아래와 같다.
# 반복문을 통한 팩토리얼 구현 def factorial(n) : answer = 1 for i in range(1, n+1) : answer*=i return answer # 함수 재귀호출을 통한 팩토리얼 구현 def factorial_recursive(n) : if n<=1 : return 1 return n * factorial_recursive(n-1)
위의 재귀호출로 구현한 팩토리얼을 실행하면 아래처럼 실행이된다. 따라서 n이 5라면
5*4*3*2*1의 형태로 실행이 되며 120을 리턴하게 된다.
재귀 알고리즘은 파이썬 프로그래밍 외에 SQL 쿼리를 작성할 때도 이용되기 때문에 이를 중점으로 배웠다.
예전에 재귀쿼리를 이용해 풀었던 코딩테스트 문제가 있었는데 문제만 풀고 정리하지를 않았어서 블로그에 작성하면서
SQL의 재귀쿼리에 대해서 다시 복습해보았고 복습한 내용 또한 블로그에 잘 정리하였다.
예전에 풀었던 문제는 프로그래머스의 입양시각 구하기(2)이다.
https://jinhyunbae.tistory.com/109
재귀 쿼리를 처음 사용해보았던 문제였는데 처음 다른 사람의 코드를 보고 풀었을 때는 개념이 잘 이해가 되지 않는 느낌이 있었는데 이번에 다시 학습해보면서 좀 더 잘 이해할 수 있었다.
https://jinhyunbae.tistory.com/107
https://jinhyunbae.tistory.com/108
SQL 재귀 쿼리가 활용도는 높으나 쿼리 자체가 다른 쿼리문에 비해서 직관적이지 않아서
제대로 공부해서 자주 응용해버릇 해야 잘 쓸 수 있을 것 같다.
'내일배움캠프(데이터 분석 부트캠프 1기) > TIL & WIL' 카테고리의 다른 글
<TIL> 2024-01-11 (0) 2024.01.11 <TIL> 2024-01-10 (0) 2024.01.10 <TIL> 2024-01-08 (0) 2024.01.08 <WIL> 2024년 1월 1주차 회고 (0) 2024.01.05 <TIL> 2024-01-05 (0) 2024.01.05 - 오늘 한 것