오늘 한 일
- 오늘의 코드카타 10문제
- 오후 알고리즘 세션
- 알고리즘 문제 풀기: N과 M
오늘의 리뷰
1. 스택
- 데이터를 쌓아올린 형태의 자료구조
- => 이러한 자료구조 때문에_ 아리아드네의 실, 뒤로가기_식으로 활용함
- LIFO(LAST IN FIRST OUT)
- pop은 peek은 구분됨. pop은 가장 위의 연산을 삭제하고 반환하는 연산이고, peek는 가장 위에 있는 요소를 조회하는 연산임. 즉, pop의 본질은 '삭제'이고, 삭제 후 반환된 것을 우리가 사용할 뿐임.
- 가장 위에서 연산이 이루어지는 부분이 'top'임.
- 파이썬에서는 리스트가 스택의 일종임. 그래서 우리가 파이썬에서 pop, push같은 연산을 사용할 수 있는 것임.
- => pop, push와 같은 연산들은 본래 stack의 연산임.
- *자료구조 = 구조+연산
2. 재귀
- 재귀함수는 자기 자신을 호출하는 함수를 말함
- for문을 중첩으로 계속 사용하는 것은 가독성 면에서도 좋지 못하므로, 재귀함수를 많이 사용하게 됨
- 마지막 함수 호출에 대한 return 전까지 모든 함수 호출들은 살아 있음. 즉, 마지막 함수 호출이 기저조건(탈출조건)을 만나면서 첫 return을 하면, 연이어 조건을 만족한 함수 호출들이 실행됨.
- 재귀를 작성할 때는 기저조건을 가장 먼저 작성하는 것이 좋음.
- 1*func(0) => 2*func(1) => 3*func(2) => 4*func(3) ...
'TIL' 카테고리의 다른 글
[TIL 2024. 03. 12] : 바이러스_dfs (0) | 2024.03.12 |
---|---|
[TIL 2024. 03. 11] (0) | 2024.03.11 |
[TIL 2024. 03. 07] (0) | 2024.03.07 |
[TIL 2024. 03. 06] (0) | 2024.03.07 |
[TIL 2024. 03. 05] (0) | 2024.03.06 |