TIL, 6주차 화요일

CUE·2021년 5월 11일

TIL

목록 보기
30/43
post-thumbnail

오늘은 7시반에 기상했다.
어제 운동을 3시간을 했더니 아주 몸이 피곤한 상태였다.
그래도 졸지 않았다! 뿌듯..

모닝 알고리즘

순열에 대한 알고리즘을 풀었다? 수도코드만 40분 작성하다가 레퍼런스 코드로 다시 씹고 뜯고 맛보았다.. 난 꼭 이해하고 말꺼다!

재귀함수

Section1때부터 악명 높다던 재귀함수를 배웠다.
배우기 앞서 걱정을 많이한 덕분(?)인지 생각보다 할만했고, 재미있었다.

-self라는 영문법과 비슷하다.
한 문장 안에서 주어가 행했다는 것을 강조하거나 반복 사용을 줄이고자 간결하게 -self를 사용한다. 영문과답게 이해한 바..
재귀함수도 자기 자신을 리턴하거나 재사용하여 반복문을 대체시키거나 원하는 답이 나올 때까지 함수를 사용할 수 있다.

코플릿

수도코드 작성 시, 입력값과 출력값을 먼저 적고 시작했다.
그리고 아주 작은 단위로 쪼개어 쪼갤 수 없을 때 리턴하여 해당값을 주었다. 쪼개는게 재귀함수의 포인트인 것 같은 느낌이다.
전체를 이해하려고 했을 땐 복잡하게 느껴졌지만, 작은 단위로 나누어 생각해보니 이전에 풀어봤던 코플릿이랑 비슷한 문제들이 있어 훨씬 수월함을 느낄 수 있었다.

함수가 끝날 때

아! 그리고 오늘 다시 한 번 깨달은 점은 함수가 끝날 때는 리턴할 때, 그리고 함수를 전체 다 돌아서 더 이상 읽을 것이 없을 때 함수에서 나온다는 것이다.

힘들었던 문제

가장 어렵게 느껴졌던 문제가 2개 있었다.
한 문제는 arr.length를 대체하는 함수를 만드는 것이다. 이를 풀지 못한 이유는 count가 안되었기 때문이다. 함수 시작할 때, 계속 초기화되는 count값을 발견했지만, 사고가 막혀 다른 코드를 생각해내기 어려웠다. 이의 해답은 스트린트 리뷰 때, 풀 수 있었다. return 할 때, 1을 더해주는 것!

한 문제는 for, while 구문을 사용해도 되는지 모르고 머리를 굴리다가 시간이 끝났다.. 역시 문제를 잘 읽어야한다. 중, 고등학생 때부터 늘 생각했지만, 사람은 변하면 죽는.. 아 빨리 고치자..! 리뷰 후 혼자 다시 풀어보니 잘 풀렸다. 재귀 함수의 코플릿을 반복해서 푸는 연습이 꼭 ! 꼭 ! 필요함을 느꼈다.

그리고 도무지 이해가 되지 않을 때, 직접 대입해서 함수를 반복시키면 이해가 더 빨리 된다는 것을 알게되었다. 스프린트 리뷰가 많은 도움이 되었다.

새롭게 알게 된 점

코드가 짧은게 좋은 것이 아니다!
남들도 알아보기 쉽고, 로직을 한 번에 이해할 수 있는 코드가 깔끔한 것이다!
그리고 재귀함수가 없는 세상은 없다 ㅋㅋㅋㅋ즐기자 무야호 !

내일은

벌써 수요일이다.
시간이 어찌나 빠른지 ..
끝나고 저녁 먹고 운동하고 복습하고 블로그 쓰면 하루 너무 짧게 느껴진다.
내일까지 진행하는 재귀함수 끝까지 최선을 다하자!

profile
archive

0개의 댓글