210210_TIL

seungyeon·2021년 2월 10일
0

TIL

목록 보기
17/64

오늘 한 일

  • 재귀함수 학습
  • Coplit - 재귀 #1-15
  • GOAL - 알고리즘 1단계 정복하기
    • 문자열을 정수로 바꾸기
    • 두 정수 사이의 합
    • 문자열 내림차순으로 배치하기
    • k번째 수 (이중배열 다루기)
    • 가운데 글자 가져오기
    • 나누어 떨어지는 숫자 배열

기억할 것

재귀가 없는 세상은 없다.

재귀를 대하는 자세

  • 재귀는 예시를 하나 잡아서 단계별로 상태를 적어보자
  • 종결조건을 먼저 생각하자
  • 변하는 값(결국엔 종결 조건이 될 값)을 먼저 잡자

재귀는 rooping(순회)의 한가지 방법이다. (실제로 for문은 잘 사용하지 않는다.)
재귀는 문제를 쪼개서 사고하는 방식이다.

Q. 재귀는 언제 사용하나요?

문제에 순서가 있거나 문제에 크기(내가 풀려는 문제의 space 또는 내가 다루는 data의 유한한 크기)가 있을 때, 문제의 순서가 달라지거나 문제의 크기가 달라져도 같은 로직을 사용한다면 그 때 재귀를 사용한다.
재귀를 사용하면 굉장히 문제가 간결해진다. 코테에 재귀가 엄청 많이 쓰인다.

reduce 와 친해지기

  • 초기값은 내가 얻고자 하는 결과를 생각해서 정하자. (웬만하면 넣어주는 것이 좋다.)
  • 굳이 acc와 curr를 같이 연산(?)하지 않아도 된다. acc가 그냥 지표가 될 수도 있음.

느낀 점

  • 복잡한 과정을 단순화시키는데 재귀만한게 없구나 ㅇㅇ.
  • 알고리즘때도 느꼈지만 어디부터 손대야할지 모르겠으면 일단 케이스를 하나 잡아서 다 써보자

내일 할 일

  • 1주차 내용 복습/정리하기

0개의 댓글