본문 바로가기

TIL

[TIL 2024. 03. 08]

오늘 한 일

  • 오늘의 코드카타 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