0.과제를 진행해서 강의부분은 생략되었으며
과제는 클론코딩느낌이지만 공개여부에 대한 허락을 받지 않은 상황이라
과제를 진행하며 학습한 내용들에 대해서는 작성하지 않았다.
오늘부로 과제는 종료됐다.
1.ETag 헤더는 리소스를 특정하기 위해 사용하는데
강력한 ETag와 약한 ETag가 있다.
강한 ETag는 조금의 차이가 있어도 변화하며
약한 ETag는 리소스의 동일성만을 보장하며
강한 ETag와의 차이점을 위해 W/를 앞에 붙인다.
(W/"etagStr" 왼쪽 방식대로 문자열 밖에 붙인다)
2.Location 헤더는 변경된 주소값을 알려주는 헤더로 사용된다.
3.Server 헤더는 서버의 소프트웨어 명칭 또는 버전, 옵션등에 대해 기재한다.
4.Vary는 캐시를 컨트롤할 때 사용되는데
특정 조건을 만족할 경우에는 캐시 서버에서 처리하며
조건이 다를 경우 오리진 서버에서 데이터를 갱신해야 한다.
5.Content-Length 엔티티 헤더는 전송중에는 데이터를 분할해 사용하기 때문에 길이를 정확히 파악할 수 없어 사용해서는 안된다.
6.동적 계획법(Dynamic Programming)은 일반적으로 줄여 dp로 칭한다.
같은 연산의 중복되는 부분들을 파악한 다음 반복되는 연산을 미리 계산된 값을 넣어 처리하는 방식으로 진행된다.
dp를 이용하기 위해서는 반복되는 계산과 같은 조건하에 같은 결과값이 이루어져야한다.
Bottom up 방식과 Top down 방식이 있는데
일반적인 재귀가 Top down 방식이며
규칙을 알고 있는 경우 작은 단위부터 큰 단위로 처리하는 것이 Bottom up 방식이다.
냅색 알고리즘의 배낭문제, 규칙이 적용된 수의 x번쨰 값 구하기(만~억단위), 피보나치 수열 구하기(10^100 이상도 가능하다/물론 나머지값을 구하는 방식으로만) 등에 사용된다.
(1).백준 2921 도미노는 조금 더 수학적인 문제였는데 중복을 제외한 도미노들에 찍힌 점을 구하는 문제였다.
정답 예시를 확인해야 규칙을 쉽게 찾을 수 있기 때문에 재귀를 사용해 답을 뽑아봤는데 1000까지의 규모를 구해야 하는데 15를 구하는데만 10초가 넘게 걸렸다.
하여튼 1~10까지의 결과를 적어둔 다음 확인해보니
자릿수를 곱한 결과가 눈에 띄었는데 7의 경우 36x7이라 어딘가에서 생성되지 않은 이상 본인 자릿수를 곱했다는 것이 확 보였고
다른 내용들도 자릿수를 나누고 비교하니 3,6,10,15,21로 앞의 1이 제외된 등차수열의 합으로 볼 수 있었다.
간단하게 등차수열을 구해 input값과 곱해 답을 도출했다.
let input = 3
let num = 0
for(let i = 1 ; i < input+2 ; i++){
num += i
}
console.log(num*input)
-------아래는 값을 구하기 위한 재귀처리-------
//let input = 10
// let result = []
// let sum = 0
// function recurtion(n,arr) {
// if(n === 0 ){
// result.push(arr.sort((a,b) => a-b).join(' '))
// return
// }
// for(let i = 0 ; i < 3 ; i++){
// recurtion(n-1, [...arr, i])
// }
// }
// recurtion(input,[])
// let newArr = [...new Set(result)]
// for(let i = 0 ; i < newArr.length ; i++){
// let arrs = newArr[i].split(' ').map(Number)
// for(let j = 0 ; j < arrs.length ; j++){
// sum += arrs[j]
// }
// }
// console.log(sum)

'회고' 카테고리의 다른 글
| [취업준비일지] - 16 (0) | 2022.11.05 |
|---|---|
| [취업준비일지] - 15 (0) | 2022.11.04 |
| [취업준비일지] - 13 (0) | 2022.11.02 |
| [취업준비일지] - 12 (0) | 2022.11.01 |
| [취업준비일지] - 11 (0) | 2022.10.31 |
