개발자라면 누구나 ‘코딩테스트’를 준비해 본 경험이 있을 겁니다. 코딩테스트는 여러분의 두뇌가 얼마나 비상한지, 복잡하게 꼬인 문제를 얼마나 천재적인 발상으로 해결할 수 있는지 시험하기 위한 절차가 아닙니다. 대신 정해진 범위 안에서 정형화된 유형별로 출제된 문제를 푸는 시험이죠. 즉, 누구나 공부하는 방법을 알고 제대로 공부한다면 충분히 통과할 수 있습니다. 이번 글에서는 코딩테스트를 어떻게 준비했는지 필자의 노하우를 소개할 예정이며, 개발자로서 코딩테스트에 어떻게 접근하면 좋을지 알아보겠습니다.
개발자에게 필요한 논리적인 사고와 문제 해결력이란 무엇일까요? 기능을 뚝딱뚝딱 만들고 코드를 빠르게 짤 수 있는 것으로, 논리적으로 문제를 해결하고 있다고 말할 수 있을까요? 또한 면접에서는 면접관들이 여러분의 논리적 사고력을 어떻게 확인할 수 있을까요? 반대로 여러분의 논리적 사고력을 잘 보여주기 위해 무엇을 할 수 있을까요? 이번 글에서는 ‘논리적 사고’가 무엇인지를 알아보기 위해, 자료 구조 하나를 구현해 볼 것입니다. 코딩 실력을 보는 것이 아니기 때문에 실제로 코드를 쓰지는 않지만, 코드를 작성하기 전에 꼭 거쳐야 할 논리적 사고 과정을 살펴보겠습니다.
개발자를 준비하는 많은 분들이 자기 PR 목적으로 코드를 공유합니다. 그러나 가독성이 좋지 않은 코드를 공유한다면, 오히려 역효과가 날 수 있습니다. 코드를 통해 여러분이 고민한 내용을 온전히 전달하기 위해서는 가독성을 높이는 것이 중요합니다. 이번 글에서는 코드 스타일 외에 가독성 높은 코드를 작성할 수 있는 몇 가지 방법을 알아보겠습니다. 저 또한 개인 블로그에 코드를 공유할 때 항상 신경 쓰는 내용인 만큼, 이번 글을 통해 앞으로 코드를 공유할 때 한 번씩 적용해 보면서 점점 더 좋은 코드를 작성할 수 있으면 좋겠습니다.
좋은 코드를 작성하기 위해서는 코드 스타일도 신경 써야 합니다. 통일된 스타일로 작성된 코드는 그렇지 않은 코드보다 가독성이 높습니다. 이름, 인덴트 등 대략적인 부분만 보더라도, 해당 부분이 어떤 역할을 하는지 판단할 수 있기 때문입니다. 일관된 코드 스타일은 코드를 읽는 사람으로 하여금, 코드의 의도를 빠르게 파악하고 원하는 정보를 쉽게 찾을 수 있도록 도와줍니다. 이 글에서는 개발자에게 코드 스타일이 왜 중요한지, 그리고 어떻게 코드 스타일을 고려할 수 있을지 함께 살펴보겠습니다.