1.코딩 테스트 진행 시 가장 중요한 것은 문제를 제대로 파악하는 것과
모른다고 당황하지 말고 문제를 해결하기 위한 수도코드를 천천히 작성하는 것이다.
풀 수 없을 것 같은 문제도 차근차근 수도코드를 따라가며 작성하다보면
테스트케이스의 일부가 해결되는 모습을 볼 수 있고
그 코드를 개량하고 테스트케이스를 추가하며 조건을 좁혀나가 문제를 해결할 수 있다.
2.useNavigate를 import한 다음
let navigate = useNavigate()로 변수선언 및 할당을 하면
navigate("/")의 방식으로 페이지를 이동할 수 있다.
이 방법은 새로고침을 하지 않는 방식이라 에러 발생확률(로딩 및 리렌더링에 의한 데이터 공백)이 줄어든다.
useNabigate에 대한 글이 왜 적은지 찾아보던 중 useHistory가 기존 명령어였는데 useNavigate로 변경되었다는 사실을 알 수 있었다.
버전에따라 이름이 변경되는 내용이 많이 있는 언어는 유지보수에도 문제가 있을 것 같아
조금 더 안정적으로 유지되는 언어(최신언어라도)가 좋을 것 같다.
3.useEffect의 의존성배열에 params를 넣어주는 방식을 이용하면
url의 이동 시 api를 새로 호출해 리랜더링 할 수 있다.
4.DB에서 사용하는 명령어에 대해서는 너무 휙 지나가는데 save, find등의 메서드가 있다.
필요한 기능들은 검색하면 바로 찾을 수 있겠지만 DB설명이 조금 부족한 느낌이다.
또한 .exec()는 버퍼 처리로 삽입,수정,삭제 등을 할 때 필요하다고 하는데 강의에서는 언급이 없어서 찾기 힘들었다..
5.실제 사용할 일은 없을 것 같지만 레인지 리퀘스트라는 기능을 통해 하나의 데이터를 쪼개 도중 중단되더라도 그 이후부터 리줌이라는 기능을 통해 연속해 다운받는 것이 있는데
하나의 리소스에서 내부 특정 범위만을 리퀘스트 할 수 있다.
정상 반응은 206으로 응답되며
지원하지 않는 경우 200으로 응답되고 전체 리소스가 다운된다.
6.콘텐츠 네고시에이션(Content negotiation)은
클라이언트와 서버가 제공할 내용에 대해 협상하는 것을 의미하며
서버에서 자동적으로 처리하는 것과
클라이언트 측에서 유저가 선택 또는 특정 정보를 통해 클라이언트에서 처리하는 것
그리고 혼합해 사용하는 방식이 있다.
7.Merge Sort(병합 정렬)은
quick sort와 유사하게 분할 정복을 통해 진행하지만
피벗을 기준으로 앞뒤로 나뉘는 quick sort와는 다르게
모두 쪼갠 다음 합치는 방식으로 진행된다.
quick sort는 임의로 피벗을 정하는 방식을 사용하기 때문에
인접리스트에서는 비효율적이라면
merge sort는 모두 쪼갠 다음 진행하기 때문에 인접리스트 비교는 merge sort가 우세하다.
또한 tim sort에 들어가기도 하는데
merge sort와 insertion sort의 장점이 모인 tim sort는
insertion sort의 최고 O(N)과 merge의 평균, 최악인 O(NlogN)의 속도를 가지고 있어
2002년에 만들어졌지만 아직까지도 많은 언어(JS포함)에서 표준 알고리즘으로 채택하고 있다.
(1).백준 2506 점수계산은 콤보 느낌으로 연속해서 맞출 경우 등차수열식의 점수증가가 있으며 총 점수의 합을 구하는 문제였다.
현재 가산점과 합 두가지의 변수를 설정한 후 for문에서 증가 처리하며
만약 오답인 경우에는 가산점을 초기화하는 방식으로 진행했다.
let input = `10
1 0 1 1 1 0 0 1 1 0`.split('\n')[1].split(' ').map(Number)
let now = 0
let sum = 0
for(let i = 0 ; i < input.length ; i++){
if(input[i]){
now++
sum += now
}
else{
now = 0
}
}
console.log(sum)

'회고' 카테고리의 다른 글
| [취업준비일지] - 7 (0) | 2022.10.27 |
|---|---|
| [취업준비일지] - 6 (0) | 2022.10.26 |
| [취업준비일지] - 4 (0) | 2022.10.24 |
| [취업준비일지] - 3 (0) | 2022.10.23 |
| [취업준비일지] - 2 (0) | 2022.10.22 |
