TIL

2024년 9월 3일 TIL

kagan-draca 2024. 9. 3. 21:54

https://kagan-draca.tistory.com/257

 

문제 6. 둘만의 암호 (난이도 5)

제출한 코드 : function solution(s, skip, index) {     skip = skip.split('');     // 스킵할 문자열을 문자 배열로 만든다.     return s.split('').map((element)=>{         for(let i = 0; i       

kagan-draca.tistory.com

 

 

어제 푼 문제로 어제 글을 작성했어야 했는데

강의를 듣는다고 정신이 없어서 깜빡했었다 ㅎㅎ;;

 

https://kagan-draca.tistory.com/258

 

문제 68. 햄버거 만들기 (난이도 7)

function solution(ingredient)  {     let humburger = '1231'     let makeHumburger = ''     let answer = 0;     for(let i = 0; i     {         makeHumburger += ingredient[i]         if(makeHumburger.incl

kagan-draca.tistory.com

 

위의 문제는 문자열을 조작하는 함수들(slice, splice)로

풀이를 시도했지만 전부 시간초과가 나왔다...

 

그래서 어떻게 해결하지... 고민하다가 Stack을 사용해 

시간복잡도를 줄이는 방법으로 문제를 해결할 수 있었다.

 

아마도, slice와 splice는 문자열에서 해당 index로 이동하기 위해

O(N) 만큼의 시간복잡도가 소요되지만,

 

Stack의 pop은 스택의 가장 위에 있는 값을 제거하는 방식이라

시간복잡도가 O(1)로 문자열 조작 함수들보다 적은 시간이 소요되는 것 같았다.

 

https://kagan-draca.tistory.com/259

 

문제 69. 성격 유형 검사하기

이하 생략.. 제출한 코드 :  function solution(survey, choices) {     let answer = "";     let test =      {         "RT" : 0,         "TR" : 0,         "CF" : 0,         "FC" : 0,   

kagan-draca.tistory.com

마지막 문제로 위의 성격 유형 검사를 풀었는데 글의 내용은 무진장 길지만,

객체와 점수 부여 방식을 생각하면 굉장히 간단하게 문제를 해결할 수 있었다.

 

https://kagan-draca.tistory.com/253

 

2-2 웹 서버 + MongoDB 실습

Express를 통해 MongoDB를 사용하고, REST API를 설계하고 구현하는 작업을 진행한다. 1. 단계 : 할 일 메모 페이지 만들기( 프론트엔드로 부터 제공 받을 예정 ) 2. 단계 : Express.js 서버 : API를 구현하기

kagan-draca.tistory.com

 

https://kagan-draca.tistory.com/255

 

2-3 미들웨어(Middleware)

1. 미들웨어 (Middleware) 웹 서버에서 요청을 받을 때, 모든 요청에 대한 공통적인 처리를하고 싶을 수 있습니다. 이때 필요한 것이 미들웨어(Middleware) 입니다. 미들웨어(Middleware)는 서버의 요청(Req

kagan-draca.tistory.com

 

오늘은 여태까지 배운 내용 Express 미들웨어, Mongo(Mongoose), Client API(Insomnia)

를 활용해 웹 서버와 DB를 실습했다.

 

강의에서 지급하는 코드를 복사해서 붙여 넣는 방식으로 빠르게 진행할 수 있지만,

 

직접 코드를 손으로 쳐 보면서 동작 원리를 학습했고,

안 보고도 작성할 수 있는 능력을 길렀다.

(무결성 검사 코드를 제외한 코드는 현재 안 보고 작성 가능해졌다)

 

마지막으로 미들웨어 정확하게 무엇이고,

어떤 미들웨어가 존재하며,

어떻게 사용하며, 어떻게 동작하지는

문제 풀고 코드를 작성하면서 익혔다