코딩 테스트에 제대로 대비하기 위해서는 연습 문제를 풀기에 앞서 이론을 탄탄히 다지는 단계가 필요합니다. 이론을 공부하지 않고 닥치는 대로 연습 문제만 푸는 것은 부실한 토지에 건물을 올리는 것과
코딩 테스트에 제대로 대비하기 위해서는 연습 문제를 풀기에 앞서 이론을 탄탄히 다지는 단계가 필요합니다. 이론을 공부하지 않고 닥치는 대로 연습 문제만 푸는 것은 부실한 토지에 건물을 올리는 것과 같습니다. 건물을 높게 쌓을수록 토지의 부실함이 드러나 모든 게 무너지겠죠. 반면에 이론이라는 토지를 탄탄히 다져놓으면 그 위에 어떤 높은 건물을 쌓아도 든든히 버텨줄 것입니다. 코딩 테스트를 위해 꼭 공부해야 할 이론 두 가지를 공유드립니다! 1️⃣ 자료구조 & 알고리즘 코딩 테스트에서는 보통 단시간 안에 풀 수 있는 알고리즘 문제가 출제됩니다. 이런 유형의 문제를 풀기 위해서는 기본 자료구조 및 자주 사용되는 알고리즘 기법을 알아두어야 합니다. 수많은 자료구조와 알고리즘 컨셉 중 반드시 공부해야 하는 주제 몇 가지를 선정해 보았습니다. 각 주제에 관한 설명은 수많은 책, 블로그, 영상 강의에 자세히 나와 있으니 각자 잘 맞는 방식을 선택해서 공부하시면 됩니다. 자료구조: - 배열 (Array) - 해시 테이블 (Hash Table) - 연결 리스트 (Linked List) - 스택 (Stack) - 큐 (Queue) - 힙 (Heap) - 트리 & 그래프 (Tree & Graph) 알고리즘: - 이진 탐색 (Binary Search) - 정렬 (Sorting) - 재귀 (Recursion) - 너비 우선 탐색 (BFS) - 깊이 우선 탐색 (DFS) - 백트래킹 (Backtracking) - 동적 계획법 (Dynamic Programming) 👉 참고 영상 - 자료구조: https://www.youtube.com/watch?v=IhJGJG-9Dx8&list=PLI1t_8YX-Apv-UiRlnZwqqrRT8D1RhriX - 알고리즘: https://www.youtube.com/watch?v=KEEKn7Me-ms&list=PLI1t_8YX-ApvMthLj56t1Rf-Buio5Y8KL 2️⃣ 빅오 표기법 알고리즘 문제를 푸는 방식은 딱 한 가지로 정해져 있지 않습니다. 하나의 문제도 여러 방식으로 풀 수 있기 때문에 어느 한 가지 방식만이 정답이라고 할 수는 없습니다. 답이 여러 개 있는 셈이죠. 그러나 더 효율적인 답을 가려낼 수는 있습니다. 일반적으로는 더 짧은 시간 안에(시간 복잡도), 더 적은 메모리를 사용하면서(공간 복잡도) 문제를 해결하는 코드가 더 효율적인 답입니다. 이러한 시간 및 공간 복잡도를 나타내는 대표적인 방법이 빅오 표기법(Big-O Notation)입니다. 개발자는 본인이 구현한 코드를 빅오 표기법을 이용해 분석할 수 있어야 합니다. 라이브 코딩 테스트 때 면접관이 “이 코드의 시간 복잡도는 어떻게 되나요?”라는 질문을 하면 막힘없이 대답할 수 있어야 하며, 시간 복잡도와 공간 복잡도의 거래 관계(trade-off)를 이해해야 합니다. 아직 이게 익숙지 않다면 충분한 연습을 통해 빅오 표기법을 마스터하시기 바랍니다. 👉 참고 자료 - 각 자료구조 및 알고리즘의 빅오 표기법: https://www.bigocheatsheet.com - 빅오 표기법 연습 문제: https://www.geeksforgeeks.org/practice-questions-time-complexity-analysis 📔 함께 읽어보면 좋은 글 코딩 테스트에 완벽하게 대비하기 위해 해야 할 6가지: https://careerly.co.kr/comments/66559 라이브 코딩 테스트 실전 5단계 가이드: https://careerly.co.kr/comments/66693 📣 코딩 테스트 대비 과정 안내 이번에 프로그래머스에서 코딩 테스트 대비를 위한 코드리뷰 스터디를 진행하게 되었습니다. 4주간 함께 프로그래머스 고득점 Kit를 완주해 보아요! https://school.programmers.co.kr/learn/courses/14676 위 내용은 저의 브런치 글 의 일부를 정리한 내용입니다.