자료구조(Data Structure)는 컴퓨터가 데이터를 효율적으로 다룰 수 있게 도와주는 데이터 보관 방법과 데이터에 관한 연산의 총체를 뜻한다.
어떤 자료구조를 사용하느냐에 따라 속도가 달라지기 때문에 자료구조를 공부하는 것이 중요하다고 생각한다.
알고리즘은 '어떠한 문제를 해결하기 위한 일련의 절차를 공식화한 형태로 표현한 것'이다.
백엔드를 공부하면서 다들 알고리즘에서 많은 어려움을 겪는다. 그만큼 알고리즘은 어렵고, 또 어려운만큼 중요하다고 생각한다.
알고리즘을 공부하며, 프로그램에 대한 이해와 응용능력을 함께 키워나가야 한다고 생각한다.
나의 실력을 객관적으로 볼 수 있는건 코딩테스트라고 생각한다.
기업에서도 나에 대해 모르게 때문에 직관적으로 나의 실력을 판단 할 수 있는 방법은 코딩테스트로 내가 어떤 알고리즘을 알고 있는지 파악한다고 생각한다.
이 코딩테스트는 알고리즘을 이용해서 문제를 해결해야 하기 때문에 알고리즘 공부를 해서 정확하게 파악해야 한다.
현재 백엔드 공부를 시작한지 한달이 좀 넘어가고 있지만 아직도 이해 못한 부분이 많다.
이해했다고 생각한 자료구조들이나, 알고리즘들이 막상 코딩테스트를 보면 응용을 못해 풀지 못하는 경우가 많다.
그만큼 알고리즘은 빠르게 익혀서 잠깐 공부하는 것이 아닌 백엔드 개발자로 취업을 한 후에도 꾸준히 공부를 계속 해야된다고 생각한다.
아직도 갈 길은 멀지만 자료구조와 알고리즘을 더 공부해서 백엔드 개발자로 취업을 했으면 좋겠다.