[TIL]10.23

2019. 10. 23. 22:58TIL

오늘 한일

프로젝트를 진행항때 어디에서 비동기 처리를 해야할지를 잘 몰랐었고 여기저기 처리를 해준 기억이 났다. 그래서 비동기에 대해서 좀 더 이해도를 높이고자 callback, promise, async/await에 대한 간단한 사용법과 유의사항 들에 대하여 블로깅을 하였다.

 

stack을 사용해서 queue를 만드는 알고리즘 문제를 풀었다 .

 

dequeue 부분을 stack을 사용해서 어떻게 만들어야 하는지에 대해서 많은 고민을 하였다. 

  this.dequeue = function(){
    if(!outbox.size()){
      while(inbox.size()){
        outbox.push(inbox.pop());
      }
    }
    return outbox.pop();
  };

inbox 와 outbox 변수를 만들어서 stack을 할당해 주었다. 

그리고 outbox의 길이가 존재하지 않는다면 즉 outbox 내에 값이 존재하지 않는다면 inbox의 길이가 0이 될 때 까지 while문을 돌리면서 

inbox.pop 으로 나온 값을 outbox로 push 해준다. outbox에는 역순으로 값들이 쌓이게 되고 outbox.pop을 하면 dequeue가 완성이 된다.