티스토리 뷰
트리맵을 암만 해봐도 방법이 없어서 레퍼런스 코드를 수도코드로 옮겨적고, 이 옮긴걸로 코드를 짜는 식으로 대충 이해는 했지만
찝찝하다. 뭔가 제대로 알고 사용해야 내것으로 남을것 같은데, 그러지 못할것 같아서 찝찝하다.
주말동안 hiring assessments 풀 수 있는 만큼 풀어보고, 조금 더 실사용이 가능할 정도로 복습을 해야 할 듯 싶다.
#### 오늘 한 일
* toy problem 05
ㄴ bubbleSort
ㄴ 무작위 배열(정수로만 이루어진)을 작은 수는 앞으로 큰 수는 뒤로 보내는(이진탐색같은) 문제였다.
ㄴ 제일 작은 수를 Math.min으로 구하고, 그거를 shift()로 빼내고 하는 식의 재귀를 쓰면 쉬울 줄 알았는데,
ㄴ 문제는 shift는 index가 0번째인 element만 제거한다는 것이었다.
ㄴ array[0] = a 와 같은 식으로 바꿀 수 있다는 개념을 처음 사용했다.
1. 기존 array[0]의 값을 empty에 할당
2. 최소값을 array[0]에 할당
3. empty값을 push로 배열 제일 뒤에 배치
4. array.shift()로 최소값 삭제 및 빈 배열(result)에 옮김(result.push(array.shift()))
5. array.length === 0이 될 때까지 반복
6. return result
* tree
ㄴ혼자서는 아무리 봐도 구현할 수가 없어서 레퍼런스가 어떤식으로 작동 되는지를 이해했다.
ㄴ 우선, this값의 child에 접근한다(this.children) 후에 reduce를 사용해서 루트부터 리프까지
쭉 callback함수를 적용한 node를 생성한다.
ㄴ reduce도 덧셈 곱셈 등 간단한 것 말고 이런식의 사용법을 익혀야 할 필요가 있다.
//childnode들에 callback함수 적용
//this(root).children.reduce를 사용해서 tree(acc), child(cur)
//arr(root) > childnode추가 > 어떤 childnode냐 > callback함수가 적용된 엘리먼트(child)를 값으로 하는 childnode
//초기값 > this.value를 값으로 하는 노드
*내일 할 일
- hiring assessment 다시 풀어보기
- nqueens 마무리 도전..
'TIL' 카테고리의 다른 글
## 2020 0701 서른세번째 TIL (0) | 2020.07.01 |
---|---|
## 2020 0629 0630 서른두번째 TIL (0) | 2020.06.30 |
## 2020 0625 서른번째 TIL (0) | 2020.06.26 |
## 2020 0624 스물아홉번째 TIL (0) | 2020.06.24 |
## 2020 0623 스물여덟번째 TIL (0) | 2020.06.23 |