ection 2 - 28일차

1. Toy

  • 피보나치 행렬문제, 일반적인 재귀방법으로는 X
  • 행렬로 풀어보자 >> 반복문이 금지네?
  • 행렬의 곱을 하드코딩해서, 재귀 호출로 거듭제곱을 구현하였다.... 풀긴 풀었음..
  • memorizaion을 통해 효율적인 재귀 호출이 가능..
  • 어제의 Toy1도 풀었다, 반복되는 패턴을 찾아서 함수로 구현하였다

2. StringifyJSON

  • JSON은 데이터 교환을 위해 만들어진 포맷
  • JSON.stringify 객체를 문자열로 변환 >> 직렬화(serialize)
  • JSON.parse stringify와 반대의 일을 한다 >> 역직렬화(deserialize)
  • JSON은 서로 다른 프로그램 사이에서 데이터를 교환하기 위한 포맷, 다른 언어에서도 범용적으로 쓰인다
  • JSON 규칙
let packet = `{"sender":"A","receiver":"B","message":"C","createdAt":"D"}`

let obj = JSON.parse(packet)
console.log(obj)
/*
{
  sender: "A",
  receiver: "B",
  message: "C",
  createdAt: "D"
}
*/

JSON >> 키, 문자열 모두 반드시 쌍따옴표를 붙여야함
JS 객체 >> 키는 따옴표가 필요없음, 문자열은 어떠한 형태의 따옴표도 사용 가능

3. Tree UI

  • DOM, 재귀활용하여 쉽게 해결!

advanced

  • 재귀 함수와 메모리 사용량 간의 관계 (javascript recursion memory leak)
  • 꼬리 재귀 (tail recursion in js)
  • 하노이의 탑 재귀 (js tower of hanoi in recursion)
  • 조합 재귀함수 (js combination in recursion)

좋은 웹페이지 즐겨찾기