1.사이즈를 조절하고 싶은데 기존 제시된 사이트에서는 flex를 사용하지 않고 있어
flex + column으로 조절하기에는 애매하다고 생각했고
calc(100vh - 66px)를 사용해 사이즈를 조정했다.
2.가상호스트는 하나의 ip주소에 여러개의 도메인 값이 있을 수 있다.
DNS로 조회를 요청할 경우 여러개의 도메인이 모두 하나의 IP로 통합되므로
원하는 특정 서버로 이동하고 싶은 경우 호스트, 도메인명을 완전하게 포함시킨 URI를 사용하거나 header에 host를 지정해야 한다.
3.프록시는 클라이언트에서 받은 리퀘스트를 다른 서버로 전송하는 동작을 하며
프록시를 하나씩 경유할 때 마다 Via라는 헤더에 경유지를 저장한다.
캐싱 프록시는 리소스를 중계 프록시에서 캐시를 보존하고 있다가 같은 리퀘스트가 오는 경우 캐시를 돌려주는 방식이며
투명 프록시는 중계를 할 때 메세지 변경 여부에 따라 변경하지 않는 타입을 투명 프록시, 변경을 하는 타입을 비투과 프록시라고 한다.
4.게이트웨이는 프록시와 유사하지만 보안적인 부분을 담당하는 곳에 자주 사용하는데 특히
DB, 신용결제 등의 기능을 암호화해 처리한다.
5.Radix sort(기수 정렬)는 각 숫자의 자릿수를 가지고 정렬하는 방식을 사용한다.
[2, 11, 100]이 있는 경우 처음 정렬은 [100, 11, 2]로 진행되는데 이는 뒷자리부터 정렬하기 때문이다. 그 뒤로 그 앞자리를 체크할 때 2의 앞자리는 없기 때문에 0으로 처리되어 0으로 넘어가고 11은 1, 100은 0으로 넘어가 [100,2,11]로 정렬된다.
마지막으로 앞자리를 체크하면 002인 2, 011인 11, 100인 1 순서로 정리를 마무리한다.
숫자, 문자열을 정렬할 수 있으며 시간 복잡도는 일반적으로는 O(dN) 또는 O(d*(n+10))으로 되어있다. 하지만 0~9까지의 자릿수로 분류된 공간이 필요하기 때문에 공간복잡도를 생각할 필요가 생기고 자릿수가 없는 경우에는 정렬할 수 없다.
시간복잡도 면에서 자릿수(d)가 곱해지기 때문에 단일 자릿수의 대규모 또는 낮은 자릿수일 경우 빠르게 처리될 수 있다.
(1).백준 2566번 최대값은 행, 열의 최대값을 for문을 통해 찾은 다음
다시 for문으로 max값의 위치를 찾아 출력하는 방식으로 해결했다.
사실 앞의 행, 열이라는 조건이 없기 때문에 max값이 갱신될 때 마다
위치값을 같이 넣어줘도 되지만 그렇게 하려면 이중for문으로 위치를 잡아줘야 하기 때문에
귀찮은 정도는 비슷하다.
let input = `3 23 85 34 17 74 25 52 65
10 7 39 42 88 52 14 72 63
87 42 18 78 53 45 18 84 53
34 28 64 85 12 16 75 36 55
21 77 45 35 28 75 90 76 1
25 87 65 15 28 11 37 28 74
65 27 75 41 7 89 78 64 39
47 47 70 45 23 65 3 41 44
87 13 82 38 31 12 29 29 80`.split('\n')
let result = []
let max = 0
for(let i = 0 ; i < input.length ; i++){
max = Math.max(max, ...input[i].split(' ').map(Number))
}
result.push(max)
for(let i = 0 ; i < input.length ; i++){
if(input[i].split(' ').map(Number).indexOf(max) !== -1){
result.push(`${i+1} ${input[i].split(' ').map(Number).indexOf(max)+1}`)
}
}
console.log(result.join('\n'))

'회고' 카테고리의 다른 글
| [취업준비일지] - 9 (0) | 2022.10.29 |
|---|---|
| [취업준비일지] - 8 (0) | 2022.10.28 |
| [취업준비일지] - 6 (0) | 2022.10.26 |
| [취업준비일지] - 5 (0) | 2022.10.25 |
| [취업준비일지] - 4 (0) | 2022.10.24 |
