## 2020 0701 서른세번째 TIL
드디어 서버다.
개인적으로 궁금했던 부분이고, 강의도 쉽게 찾을 수 없던 부분이라 기대했지만
내 실력이 내 기대치를 따라가지 못했다.
이론으로 볼 때는 아 이거구나 하는 정돈데,
실전으로 할 때는 아 .. 이거.... 하는 느낌이다.
정신 못차리면 낙오되는거 한순간이겠다.
오늘 배운걸 전부 이해하면 좋겠지만.. 그러지 못한다고 너무 생각하지 말고
내 속도로 천천히 따라가자
(모각코도 하고 싶은데 3일동안 타이밍이 참 엉망이었다.)
#### 오늘 한 일
* toy problem 07
ㄴ treeDFSelect
ㄴ 질질끌던 트리문제를 해결했다.(..? 해결됐다가 맞는것 같다)
ㄴ runJS에 아무리 콘솔찍어도 안나오길래..결국 공책에 옮겼다.
ㄴ 하다보니 내가 막혔던 부분(아래로 계속 내려가는 부분)을 어떻게 처리 할지 조금씩 감이 잡혔고
ㄴ depth와 result를 재귀로 넘기면서 해결했다.
ㄴ this.children[i]가 배열의 element라는 기초적인걸 놓친것에서 시작한 문제였다.
ㄴ dfselect 재귀 돌릴 때마다 depth를 올렸고, for문이 this.children.length까지만 돌아가기 때문에
ㄴ this.children[0].children.children..의 방법으로 children이 없을때까지 내려가는게 가능했다.
ㄴ 아침에 대충 살펴보니 bfs도 있길래..내친김에 그것까지 하려다가 로직 구성만 하는거로 만족했다.
ㄴ this와 재귀만 더 이해했어도 더 쉽게 풀 수 있었던 문제였다
* toy problem 08
ㄴ sort해서 가장 큰 거 3개 가져와서 reduce로 곱하면 되는거 아니야? 해서
ㄴ sort한 array에 slice로 카피하고 reduce로 곱하는 값을 구했다.
ㄴ 초록색으로 도배된 테스트 케이스에 그럼 그렇지 하면서 확인을 한 순간
ㄴ 음수처리가 걸렸다.
ㄴ 음수끼리 곱하면 양수가 되어서 더 큰값이 된다는걸 생각하지 못했다.
ㄴ 경우의 수가 너무 많길래.. 3개의 수의 모든 곱셈의 경우의 수를 다 구해야 하나 하다가
ㄴ sort했을 때, 가장 큰 세개의 수의 곱과
ㄴ 가장 큰 값, 그리고 가장 작은 두개의 수의 곱을 비교해서 큰 것을 뱉어냈다.
>> ex.[-5,-4,-3,-2,-1] , [-50,40,30,20,5]
>> 절대값을 기준으로 세개의 수를 정하면 [-5,-4,-3,-2,-1]과 같은 경우 가장 작은 수가 리턴된다 // -60
>> 가장 큰 세개의 수의 곱 // -6, 24000
>> 가장 큰 수와 가장 작은 두개의 수의 곱//-20,-10000
*API : 프로그래밍 되어 있는 애플리케이션과 의사소통 가능한 매개체(메뉴판)
*UI : 유저와 의사소통 가능한 매개체
*browser :
*server : db에 저장된 여러 데이터(원두)를 제공해 줌(스타벅스)
*http : 클라이언트, 서버, db이용시 규범
*AJAX : 필요한 부분만 서버를 통해 동기적으로 받게 해주는 기술(fetch, XHR 이용)
*내일 할 일
- chatter box가 어떤식으로 구현되는지 제대로 이해하기
- chatter box 재구현