Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2021-12-21 : 알고리즘 #14

Open
som-syom opened this issue Dec 20, 2021 · 0 comments
Open

2021-12-21 : 알고리즘 #14

som-syom opened this issue Dec 20, 2021 · 0 comments

Comments

@som-syom
Copy link
Owner

JavaScript로 알고리즘 공부를 하기로 했는데
막상 백준에서 문제를 풀려고하니 JavaScript 로 나와있지는 않고, node.js 를 선택하거나 TypeScript 를 이용하여야 했다.
이래서 프로그래머스를 이용하나보다.

또한 표준 입출력을 받기도 까다로워 우선 그 부분부터 정리를 하였다
https://dasom-hyeon.notion.site/dfb388fcc08c46919557a2fdbe1aef43

그래도 JavaScript 문법에 익숙해지기 위해 직접 자료구조를 구현해보거나 했는데
스택,큐,덱은 배열로 한방에 처리 할 수 있는것으로 보인다.

아래는 JavaScript 로 덱을 구현한 클래스이다

class Deque {
  constructor() {
    this.arr = [];
  }
  push_front(item) {
    this.arr.unshift(item);
  }
  push_back(item) {
    this.arr.push(item);
  }
  pop_front() {
    if (this.arr.length === 0) {
      return null;
    } else {
      this.arr.shift();
    }
  }
  pop_back() {
    if (this.arr.length === 0) {
      return null;
    } else {
      this.arr.pop();
    }
  }
  size() {
    // size 대신 length 써도되긴함
    return this.size;
  }
  empty() {
    if (this.arr.length === 0) return true;
    return false;
  }
  front() {
    return this.arr[0];
  }
  back() {
    return this.arr[this.arr.length - 1];
  }
}

하지만 문제는 따로 있었으니...
JavaScript의 console.log 로 출력하는게 꽤나 시간을 잡아먹어 시간초과가 난다는 점이다.
다른 코드들을 참고해보니 대부분 문자열로 저장해둔 다음에 마지막에 한번에 출력하는 코드들인걸 확인하고
그렇게 수정하니 해결이 되긴 했다.
하지만 그래도 조금 번거로운 느낌이 든다.

@som-syom som-syom changed the title 2021-12-21 : 알고리즘, CI/CD 문서화 2021-12-21 : 알고리즘 Dec 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant