코딩테스트를 위해 알고리즘 공부는 필수적이다. 꼭 코딩테스트가 아니더라도 알고리즘을 통한 유연한 사고는 프로그래밍에도 도움이 되는 만큼 꾸준히 공부해보려 한다.
사전적의미는 수학과 컴퓨터 과학, 언어학 또는 관련 분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차나 방법을 공식화한 형태로 표현한 것이다.
알고리즘하면 어렵다고 느껴지겠지만 결국 우리가 일상생활에서 하는 일련의 행위들도 모두 알고리즘에 속한다.
파스타를 만드는 과정, 집에서 서울역까지 가는 과정 등을 예로 들 수 있다.
프로그래밍에서 어떤 문제를 해결할 때, 정확하고 효율적으로 결과값을 얻기 위해서 알고리즘이 필요하다.
보통 알고리즘 테스트 메모리 제한 : 128MB, 256MB, 512MB
js에서 primitive date = 8Btye 정도된다.
1000Btye = 1K (천)
1000Kbtye = 1M (백만)
1000Mbtye = 1G (십억)
Geeksforgeeks
알고리즘 예시와 코드가 제공된다. 아쉽게도 자바스크립트로는 제공되지 않고 C++, 자바, 파이썬 코드 예시만 있다.
visualgo
자료구조를 도식화해서 보여주고, 과정을 코드와 함께 순차적으로 볼 수 있다.
Data Structure Visualizations
visualgo와 비슷하게 데이터 구조나 알고리즘을 시각화시켜 놓은 사이트로 직접 데이터를 넣고 빼보며 학습할 수 있다.