모범 공부 방법(싸이클)
1. 재미 있어야 계속 풀고, 계속 풀어야 성취감이 쌓인다.
2. 결국 알아야 풀 수 있는 문제들이 많다. 모르면 못푼다.
3. 알고리즘은 머리로만 하는 것이 아니다.
4. 많이 해보는 것이 중요하다.(하루에 2~3개씩 풀어 보는 것이 좋다.)
5. 혼자서 해결하는 능력, 그러나 갈 길은 멀다.
알고리즘 테스트 공략법
1. 알고리즘을 잘하기 위해서 필요한 3가지 요소
1) 배경지식
- 기초적인 프로그래밍 지식과 수학적 지식을 아는 능력
- 부족하면 어떻게 접근할 지 몰라서 솔루션을 열었는데 생판 모르던 외계어가 적혀져 있다.인 상황
- 제일 공부하기 쉬운 능력이지만 지금 단계에서 가장 중요한 능력
2) 구현력
- 본인이 생각한 알고리즘을 그래도 소스코드로 구현하는 과정
- 부족하면 대충 어떻게 하라는지는 알겠는데 코딩을 하려니까 한 줄도 못짜겠다.
내가 지금 뭘 짜고 있는 지 모르겠다. 코드가 10줄 이상 넘어가면 엄두가 안난다. 디버깅(오류를 찾아내고 고치는 과정)을 못하겠다.
3) 문제 해결 능력
- 내가 알고 있는 알고리즘, 자료구조, 다양한 테크닉 등을 지금 당면한 문제에 맞게 변형하여 적용하는 것
- 부족하면 어떻게 접근 해야 하는지는 모르지만 솔루션을 열었을 때 아는 알고리즘, 자료구조인 상황
- 중위권에서 상위권으로 가자고 할 때 정말 벽을 뚫는다는 느낌으로 노력이 필요한 시점
2. 자료구조, 알고리즘 공간의 적정선
- 코딩 테스트에서 보고자 하는 것은 결국 배경지식 + 구현력
- 코딩 문법, 시/공간 복잡도 분석을 아는 것, 배열/트리/그래프/힙/BST/스택/큐와 같은 기본적인 자료 구조를 아는 것
DFS, BFS, 정렬, 백트래킹, DP, 분할정복, 최단거리까지
- 응시했던 코딩테스트의 반 이상에서 DFS, BFS, 분할정복, 최단거리 안나왔음
- 코딩 테스트는 경시 대회가 아니기 때문에 엄청 어려운 문제는 안나옴. 보통 적당한 수준의 문제가 나오고 문제가 엄청 어렵다면 힌트를 준다.
3. 알고리즘 경험담, 정보, 꿀팁
프로그래머스 2~3단계 난이도를 푸는 것이 좋다.
(면접 꿀팁) 안 중요한 회사 -> 중요한 회사 순으로 면접을 보면 면접 연습하다가 자신감이 점점 올라가서 폼이 극에 달한다. 그때 가장 붙고 싶은 회사 면접을 보면 모든 것을 토해낼 수 있다.
4. 알고리즘 테스트 vs 개발 공부
- 알고리즘을 잘해야 개발을 잘한다? 절대 아니다.
- 다만 기본적인 구현력과 배경지식이 있어야 회사에 입사할 자격을 얻는다.
- 그 이후에는 자신의 학습 능력에 따라 개발자의 성장이 달려있다.
즉 시험 패스가 목표이고, 끝이 있는 공부이다.(취업 이직 전에 특히)
- 알고리즘은 공부법이 존재하고, 전략/공략법을 알고 있으면 도움이 많이 된다.
- But 개발 공부는 정말 끝이 없다.
5. 구조화 방식의 복습
- 구조화란 사고 대상을 구성하는 부분(개별요소)이 각각 어떠한 관련성을 바탕으로 전체를 이루는지를 명확히 규명하여 의미를 파악하는 행위를 말하다.
즉, 구조화는 구성 요소들 간의 관계를 명확히 전체의 의미를 파악하는 것이다.
- 알고리즘을 공부하는 수많은 학생들이 하지 않는 것이 있다. 바로 풀었던 문제를 다시 풀어보는 것이다.
- 알고리즘 문제는 특정 문제를 해결해 나가는 것이다. 그 과정을 입력 값, 처리, 출력 값을 설명해야 한다.
결론은 문제를 받으면 입력 값, 처리, 출력 값으로 나눠서 생각 해보는 것이 좋다.
내가 생각 했을 때 알고리즘 특강의 결론은
많이 풀어보고 개념을 익히고 많이 풀어보고 개념을 익히고 많이 풀어봐라
https://www.youtube.com/c/%EB%94%A9%EC%BD%94%EB%94%A9%EC%BD%94
'더 알아보기 > 팁' 카테고리의 다른 글
styled-components 자동 완성 플러그인 (0) | 2021.11.17 |
---|---|
알고리즘 문제에 쉽게 접근하는 방법 (0) | 2021.11.12 |
Git, Github로 회사에서 협업 하는 방법 (0) | 2021.11.04 |
Git, Github로 프로젝트 올리는 방법 (0) | 2021.11.04 |
Git Branch 설정 (0) | 2021.11.03 |
댓글