Home 2월 16일 Today I Learned
Post
Cancel

2월 16일 Today I Learned

오늘한 일

  • 블로그에 DS 관련 글을 올렸다
  • 알고리즘 문제를 풀었다
  • 블로그 TIL을 작성하였다
  • 1일 1커밋을 하였다

느낌 점

오늘 어제 목표로 한 재귀함수를 이해하기 위해 여러 영상과 블로그를 찾아보면서 이해를 시도했지만 무엇보다도 가장 이해에 도움이 된 것은 직접 로직을 그림으로 그린 것이었다 다음부터 이러한 비슷한 상황을 겪게 된다면 우선 그림을 그려가며 이해하는 방법을 시도해 봐야겠다

배운 점

재귀함수

1
2
3
4
5
def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

재귀함수를 이해하기 위해서 여러 영상과 블로그 찾아보고 그림으로까지 그려가며 결국 이해할 수 있게 되었다

재귀함수란 자신을 재참조하는 함수를 재귀함수라고 하며 재귀함수는 반드시 종료 조건을 가져야 한다 재귀함수는 종료조건을 만날 때까지 스택을 쌓아가며 종로조건을 만나게 된다면 다시 호출한 곳으로 돌아가는 구조를 가졌다

이러한 재귀함수는 for문이나 while문을 쓰는 것보다 대부분 느려서 알고리즘을 쓸 때 특정한 상황이 아닌 이상 쓰지 않는 것을 권장한다는 것을 배웠다

git reset

이번에 깃허브 블로그에 포스팅을 하려던 중 풀을 하기전에 커밋을 하는 실수를 하는 바람에 오류가 나게 되었다 그래서 방법을 찾던 중 git reset이라는 방법에 대해 알게 되었다 git reset은 예전에 이번과 비슷한 실수를 했을 때 사용했던 revert와 달리 삭제하는 방식이라는 것 또한 알게 되었다

참고한 블로그

알고리즘 공부법

류호석님 2022년 코딩 테스트 결산 및 코딩 테스트 공부 방법 영상 해당 영상을 보고 배운 내용을 바탕으로 알고리즘 문제 풀이에 주석을 모든 줄에 다 달아보는 방법과 풀기를 실패했다가 답을 보고 다시 푼 문제또한 다시 처음부터 코드를 작성하기, 친구에게 문제를 해설하기 등을 적용해봤더니 확실히 알고리즘 공부에 도움이 되었다

특히 분명 그 당시에는 코드를 이해했다고 생각하고 넘어갔는데 막상 시간이 지나고 다시 풀어보려니까 생각보다 막막한 경험을 했었다 이외에도 주석을 전 코드에 다는 것과 친구에게 설명하는 것을 통하여 내가 쓴 코드에 문제점들을 아는 것과 문제를 이해하는데 도움이 된다는 것을 느꼈다

내일 계획

내일은 앨런 Swift문법 마스터 스쿨 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) 강의에서 최소 13번 째 앱까지는 복습하고 노션에 정리를 할 것이다

This post is licensed under CC BY 4.0 by the author.

자료구조 (집합)

2월 17일 Today I Learned