\(@^0^@)/

[TDL] 05/27 Today's-Done-List 본문

TDL

[TDL] 05/27 Today's-Done-List

minjuuu 2022. 5. 27. 22:52
728x90

- 코어 자바스크립트, 프로토타입 2

프로토타입의 다중 프로토타입 체인 섹션 중,
책에 따르면, Grade.prototype = [ ];이라는 명령을 해줌으로써, 서로 별개로 분리되어 있던 데이터가 연결되어 하나의 프로토타입 체인 형태를 띠게 되어, Grade의 인스턴스인 g에서 직접 array 메서드를 사용할 수 있다 하는데
명령을 한 후에 g에 push 또는 pop메서드를 적용하여 콘솔 창에 찍었더니 function이 아니라는 typeError가 떴다.

해결법

g를 선언하기 전에 Grade.prototype = [ ]; 명령어를 먼저 해주고, 그 후에 변수 g를 선언해야 한다.


- 유데미, algorithm 학습

섹션 3 : 배열과 오브젝트의 성능 평가
섹션 4 : 문제 해결 접근법

해당 강의가 그런 건지 몰라도 기존에 듣던 알고리즘 강의와 강의방식이 많이 다르다. 사실 많은 강의를 들어본 건 아님.
물론 어떻게 접근하든지 결과를 도출해 답을 내는 것도 중요하지만,
해당 강의는 알고리즘 문제에 어떻게 접근하고, 어떤 단계를 거쳐서 결과에 접근하는지 꽤나 구체적으로 설명해준다.

문제 해결법 (Problem Solving)

  • 1단계 : 문제의 이해 (Understand the Problem)
    • 지문을 그대로 생각하는 게 아닌 나만의 방식으로 바꿔서, 질문이 무엇인지를 실제로 이해하는 것
    • 문제가 어떤 값을 담고 있는가를 이해하는 것
    • 문제에 대한 해결책에서 나와야 할 결과가 무엇인지 이해하는 것
    • 이 질문들은 문제를 해결할 충분한 정보가 주어졌는지 파악하는 것
    • 이 문제에서 정말 중요한 것이 무엇인지 파악하는 것
  • 2단계 : 구체적 예제들 (Explore Concrete Examples)
    • 간단한 예제들로 시작하라.
    • 가장 쉬운 사용 사례의 예시들로부터 더 복잡한 예시들로 진행하라.
    • 빈 입력값이 있는 예제를 살펴보라.
    • 유효하지 않은 입력값이 있는 예제를 살펴보라.
  • 3단계 : 세부 분석 (Break it Down)
    • 문제를 해결할 때 밟아야 할 단계들을 명확하게 작성해보라.
  • 4단계 : 해결 또는 단순화 (Solve / Simplify)
    • 해결하기 어려운 문제가 있다면, 세분화하여 해결할 수 있는 작업을 파악하여 코드를 먼저 작성하라.
    • 문제를 단순화하는 과정에서 실제 해결책을 깊이 이해하고 문제의 어려운 부분을 파악하면,
      점차 해결되기 시작한다.
    • 따라서 무언가에 가로막히더라도 어디서부터 시작해야 할지를 안다면, 거기서부터 시작하라.
  • 5단계 : 되돌아보기와 리팩터 (Look Back and Refactor)
    • 코드가 작동한다고 끝이 아니다.
    • 효율성과 가독성의 균형을 맞추어라.
    • 리팩터링 질문
      • 결과를 다른 방식으로 도출할 수 있나?
      • 해결한 방법 외에 생각나는 다른 접근 방식이 있나?
      • 한눈에 보고 이해할 수 있나?
      • 해당 해결책의 성능을 향상할 수 있나?
      • 코드를 향상할 수 있는 다른 방법을 떠올릴 수 있나?
      • 다른 사람들은 해당 문제를 어떻게 해결하나?

17:50 오후 회고 스터디 (만족도 : 7)

 


- 유데미, algorithm 학습

섹션 5 : 문제 해결 패턴 (애너그램 도전 과제 솔루션까지)

항상 배열로만 문제를 풀려했는데, 객체로 문제를 푸는 법을 학습하였고
2중 forloop 대신 차라리 여러 개의 forloop를 돌리는 것이 효율적인 측면에서 더 낫다는 것을 깨달았다.
최근에 알고리즘 문제 풀 때 늘 중첩 for문을 사용해왔는데.. 갑자기 바꾸려면 어렵겠지만, 최대한 지양해보자.


- 제로베이스 JS프로젝트 과제 : CSS, HTML

CSS,HTML와 JS 각각 5개의 미션인데 예상보다 과제가 더 많고 복잡한 것 같다는 생각이 든다...
한달정도 남았는데, 진작 시작할껄껄껄! 지금부터라도 빡세게 해야 될 것 같다. 파이팅!


22:50 저녁 회고 스터디 (만족도 : 7)


[ 출처, 참고 :  JavaScript 알고리즘 & 자료구조 마스터클래스 ]
[ 출처, 참고 :  코어 자바스크립트 ]

728x90

'TDL' 카테고리의 다른 글

[TDL] 05/30 Today's-Done-List  (0) 2022.05.30
[TDL] 05/29 Today's-Done-List  (0) 2022.05.29
[TDL] 05/25 Today's-Done-List  (0) 2022.05.26
[TDL] 05/24 Today's-Done-List  (0) 2022.05.24
[TDL] 05/23 Today's-Done-List  (0) 2022.05.23