알고리즘의 핵심은 어떤 작업을 달성하기 위한 일련의 단계이다.
알고리즘 문제 향상 방법
1. 문제 해결을 위한 계획을 수립
-> 이는 기술적인 문제면서도 아니기도 하지만 문제에 접근하는 방법으로, 문제를 세분화하기 위한 전략에 더 가깝다. (방향을 잡기 위한 몇가지 단계)
2. 일반적인 문제 해결 패턴을 파악
-> 많은 알고리즘과 면접에서의 문제들을 여러 범주로 나눌 수 있는데 일부 범주를 식별할 수 있는 경우에는 코드에 수행할 수 있는 몇가지 단계를 통해 얻을 수 있는 알고리즘이나 과제를 해결하는데 도움이 될 몇가지 조합법을 파악하고 공부하는 것을 뜻한다.
문제 해결 순서?
1단계 - 문제를 이해하는 것
2단계 - 구체적인 예시를 경험해보는 것
3단계 - 문제를 세분화 하는 것
4단계 - 문제를 해결하고 단순화하는 것
5단계 - 문제를 복습하고 재구성하는 것
1단계 문제를 이해하는 것
1. Can i restate the problem in my owns words? (문제 재해석)
2. What are the inputs that go into the problem? (입력값 확인)
3. What are the outputs that should come from the solution to the problem? (얻어야할 결과 확인)
4. Can the outputs be determined from the inputs? In other words, do I have enough information to solve the problem? (You may not be albe to answer this question until you set about solving the problem. That's okay; it't still worth considering the question at this early stage.) (입력값을 통해 출력값을 결정할 수 있는지? 문제를 해결할 충분한 정보가 있는지?)
5. How should I label the important pieces of data that are a part of the problem? (무엇이 중요한지?)
본 내용은 작성자가 (Udemy) JavaScript 알고리즘 & 자료구조 마스터클래스 강의를 듣고 정리 및 메모한 내용입니다. 오역 및 오개념이 있을 수 있으니 바로잡기 위해 문제가 있는 경우 댓글 남겨주시면 매우 감사하겠습니다.
https://www.udemy.com/course/best-javascript-data-structures/
'Algorithm' 카테고리의 다른 글
문제 해결 5단계 - 복습하고 재구성하기 (0) | 2022.07.17 |
---|---|
문제 해결 2단계 ~ (0) | 2022.07.11 |
배열(Arrays)과 객체(Objects)의 성능 평가 (0) | 2022.07.09 |
Big O 표기법 (0) | 2022.07.09 |
[자료구조] 공부하면서 봤던 사이트 링크 (0) | 2022.06.18 |