
📖 빅 오 표기법 (Big O Notation) 코딩테스트를 풀고나서 다른 사람의 코드를 보면 와 이 사람 코드 진짜 복잡하게 짰네 하고 생각이 들때가 있고, 와 이 사람 코드 간결하다~ 싶을 때가 있다. 사실 니가 잘 짰니 내가 잘 짰니를 정하는 건 이런 내

우리가 흔히 일상에서도 사용하는 단어 '알고리즘'은 '특정 작업을 달성하기 위한 과정이나 일련의 단계'를 의미한다.코딩테스트 문제를 풀때도 알고리즘 능력이 필요한데, 알고리즘 능력은 분명 타고난 것도 있을 것이라 생각하지만, 이를 향상시킬 수 있는 방법도 분명 존재한다

다음은 알고리즘 문제를 패턴화해 문제 해결에 도움을 줄 수 있는 패턴들이다.Frequency CounterMultiple PointersSliding WindowDivide and ConquerDynamic ProgrammingGreedy AlgorithmsBacktr

📖 문제 해결 패턴(Problem Solving Patterns) 다음은 알고리즘 문제를 패턴화해 문제 해결에 도움을 줄 수 있는 패턴들이다. Frequency Counter Multiple Pointers Sliding Window Divide and Conque

📖 문제 해결 패턴(Problem Solving Patterns) 다음은 알고리즘 문제를 패턴화해 문제 해결에 도움을 줄 수 있는 패턴들이다. Frequency Counter Multiple Pointers Sliding Window Divide and Conque

📖 재귀는 왜 사용할까? 재귀는 자기 자신을 호출하는 절차다. 재귀 함수는 자기 자신을 호출한다. 그렇다면 재귀를 왜 알아야할까? 재귀는 어디서나 자주 사용되기 때문이다. JSON.parse / JSON.stringify -> 항상은 아니지만 재귀 방식을 택해서 작

배열가 있다고 하자. 이때 우리가 "윤영서"를 찾으려면 어떻게 해야할까?이를 찾는 것에는 여러 방법이 있을 것이다. 이러한 문제를 해결하는 방법을 '검색 알고리즘'이라 하는데, 오늘은 이 검색 알고리즘에 대해 알아보자.배열에서 "윤영서"를 찾는 가장 단순한 방법은 배열

정렬은 배열, 트리 같은 컬렉션의 요소들을 재배열 하는 과정을 말한다.정렬 예시는 다음과 같이 생각할 수 있겠다.숫자를 오름차순 또는 내림차순으로 정렬이름을 알파벳 순으로 정렬영화 객체를 개봉 일자 순으로 정렬등등...정렬 알고리즘 애니메이션 사이트 요기를 보면 각 정

앞서 이야기한 버블, 삽입, 선택 정렬은 규모가 큰 규모에는 맞지 않는다. 그에 비해 앞으로 이야기할 알고리즘들은 시간 복잡도를 O(N^2)에서 O(NlogN)으로 향상시킬 수 있다. 효율적이지만 복잡한 합병 정렬, 퀵 정렬, 지수 정렬 알고리즘들을 살펴보자! 📖