
0.과제를 진행해서 강의부분은 생략되었으며
과제는 클론코딩느낌이지만 공개여부에 대한 허락을 받지 않은 상황이라
과제를 진행하며 학습한 내용들에 대해서는 작성하지 않았다.
1.Max-Forwards는 이전에 가볍게 지나간 적이 있듯이 x횟수 이동 후의 지점에서 response를 받는다.
request가 도중 무한루프를 돌거나 어디에서 문제가 생겼는지에 대한 원인 파악을 하기 위해 특정 범위까지만 이동을 시킨 후 그 부분까지는 도착하는지 또는 특정 부분의 상황이 어떤지에 대해 파악할 수 있다.
2.Proxy-Authorization 헤더는 프록시 서버의 인증이 필요할 때 사용한다.
3.Range는 앞의 If-Range에서 먼저 같이 다뤄졌었는데
Range만 사용할 경우에는 조건에 상관없이 지정 범위의 데이터만 받아와 중간에 문제가 생긴 부분만 처리하는 등의 작업이 가능하다.
특히 한번에 다루기 큰 데이터일 경우 Range를 사용한다.
실패할 경우 206 Partial Content를 반환하며
성공할 경우는 200 OK를 반환한다.
4.Referer는 requset가 어디에서 시작되었는지 알 수 있지만 보안상 생략할 수 있다.
한번 보고 알 수 있는 부분이지만 Referrer가 아닌 Referer라는 잘못된 철자를 그대로 사용한다는 부분이 재미있기도 하고 오타를 낼 가능성이 있어 메모한다.
5.User-Agent는 일반적으로 request 브라우저의 정보를 전달하며 경우에 따라서 이름, 연락처(메일) 등이 기입될 수 있다.
6.최소 공통 조상(Lowest Common Ancestor)은 이름처럼 가장 가까운 부모를 찾는 알고리즘으로 props를 내리기 위해 건너다니는 것 같은 느낌을 준다.
작동원리는 각 정점의 depth를 기록한 다음
서로 같은 깊이일 경우 부모가 같으면 형제노드이고
부모가 다르다면 한단계 위로 올라가 부모노드를 조회하는 방식으로 진행하며
서로의 깊이가 다른 경우는 더 낮은 깊이의 부모노드와 비교한다.
while문을 사용하기 때문에 부모 노드로 변경대상을 바꿀 경우 탐색포인터를 부모노드로 변경시켜야 한다.
(1).백준 2875 대회 or 인턴 문제는 남녀 1:2의 비율로 참여해야 하는 대회와 k명이 참여해야 하는 인턴쉽 프로그램이 존재하는 상태일 때
남자, 여자, 인턴필수참여 숫자를 가지고 대회에 참여할 수 있는 팀의 숫자를 구하는 문제였다.
남,녀 1:2의 비율로 먼저 구한 다음 남은 숫자에서 인턴 인원을 제외하고
만약 제외된 숫자가 한명이라도 모자를 경우 3명단위로 팀에서 제거해야 하기 때문에 나머지 인원/3에 내림을 통해 음수일 경우에 팀에서 /3.floor처리된 값을 더하게 만들었다.(음수니까)
let [a,b,c] = `6 10 3`.split(' ').map(Number) //구조분해할당
let result = Math.floor(Math.min(a/2, b)) //현재 가능한 팀의 숫자
let left = Math.floor((a+b-c-result*3)/3)
//현재 남은 인원이 양수인 경우 의미가 없으니 마음대로 처리해도 상관없고
//음수일 경우 제외할 팀의 숫자를 구하기 쉽게 /3과 floor처리를 했다(팀은 어차피 소수점이 아닌 정수단위로 제거하기 때문에)
if(left < 0){
console.log(result+left)
}
else{
console.log(result)
}
'회고' 카테고리의 다른 글
| [취업준비일지] - 15 (0) | 2022.11.04 |
|---|---|
| [취업준비일지] - 14 (0) | 2022.11.03 |
| [취업준비일지] - 12 (0) | 2022.11.01 |
| [취업준비일지] - 11 (0) | 2022.10.31 |
| [취업준비일지] - 10 (0) | 2022.10.30 |
