본문 바로가기

Study/알고리즘3

재귀 & 백트래킹 저번 주 이번 주 재귀와 백트래킹을 공부했기에 글을 쓴다. 근데 사실 글을 쓰고 있는 지금도 내가 재귀와 백트래킹을 제대로 이해하고 있는지 모르겠다. 확실한 건 백트래킹 너무 어려웠는데 이번 기회에 감은 잡았다.. 정도..? 재귀 먼저 재귀를 살짝 짚고 넘어가자면 재귀는 반복되는 계산에 주로 쓰이며 자신을 호출하여 점점 더 작은 계산을 한다. 작은 계산의 답이 어느 일정 값이 수렴하면 그 값을 return 하며 답을 구한다. 재귀는 스택 구조라 호출될수록 메모리가 계속해서 쌓이고 함수가 return되면 그 함수가 갖고 있었던 메모리 또한 비워지게 되기에, 그때서야 메모리를 반환하게 된다. 즉 return 조건을 만나기 전까지 재귀는 계속해서 메모리를 쌓기에 아무 생각 없이 재귀를 쓰다간 메모리 초과가 날.. 2022. 9. 4.
이분탐색 이분 탐색은 여러 알고리즘 종류 중 나를 애먹게 했던 Best 5 (너무 많나?) 안에 들었던 알고리즘이다. 투 포인터니 뭐니 포인터라는 말만 나오면 몸에 경기를 일으키는 나라서.. 문제만 보고 거부감이 들었던 알고리즘이기도 하다. 하지만.. 난 취업을 해야 하고.. 어쩌겠는고 피할 수 없으면 부딪히고 즐겨야지! 해서 저번 주 평일 아침에 매일매일 하는 알고리즘 스터디에서 그 주 알고리즘을 이분 탐색으로 정하고 문제를 풀었다. 근데 웬걸? 신내림을 받은 듯이 이분 탐색의 접근법을 깨우쳐버렸다....(다는 아니지만 어느정도..) 너무 감사한 것.. 그래서 나만의 이분 탐색 접근법을 잊지 않기 위해 블로그에 정리해둔다. 1. 먼저 문제에서 구해야 하는 값이 무엇인지 명확히 알아야 한다. 백준 1072번 - .. 2022. 8. 9.
시간복잡도 https://shaded-xylocarp-541.notion.site/71bb37f8133c4c41aeff30b976d1b608 시간복잡도 Big O notation 정의 shaded-xylocarp-541.notion.site 2022. 1. 3.