목록으로
ALGORITHM

알고리즘은 왜 풀어야 하나요?

2025년 9월 16일Velog 원본
Algorithms문제풀이생각정리알고리즘접근방식
알고리즘은 왜 풀어야 하나요?

수많은 회사에서 일명 코딩테스트, 즉 일종의 알고리즘 문제를 풀 줄 아는지 보는 절차를 거친다.

요즘에는 AI 기술의 발전으로 온라인 코딩 테스트를 보는 대신에 라이브 코딩으로 지원자의 실력을 판가름하려는 회사도 많아진 것 같다.

나 역시 정말 수많은 기업에 지원을 했었고 떨어졌던 바, 정말 셀 수 없이 많은 시험을 보았었고 절반 정도의 합격을 했던 것 같다. (과제 테스트 제외)

FE는 실무에서 알고리즘이 실제로 쓰일 일이 많지는 않지만 여전히 과제보다는 알고리즘 테스트를 보는 회사가 많은 것 같다. (기분 탓? 🤷‍♀️)

하지만 실무를 하면서 그런 알고리즘을 정작 업무에 활용한 건 정말 기억이 남지 않을 정도로 없다. 이걸 읽고 있는 개발자 준비생 분들은 그럼 이거 왜 해요? 하겠지.

글쎄요, 요즘엔 AI가 알고리즘을 더 잘 푸는데 진짜 이거 왜 할까요?

...

알고리즘을 풀면 도대체 뭐가 좋아지는 건데요...?

. . .

정확히 알고리즘 문제를 출제하는 분들의 의도는 잘 모르겠지만 알고리즘 공부를 하면서 느끼는 것은 문제를 얼마나 간결하게 풀어내는가? 그런 연습을 할 수 있다는 것이다.

이게 무슨 말이냐면, 우리는 알고리즘 문제를 맞딱뜨리면 if문을 쉽게 남발하곤 하는데 if문을 최대한 사용하지 않고 어떻게 이 전체 케이스를 다 대응할 수 있는 문제 풀이를 할 수 있는가, 이걸 배울 수가 있다.

if문을 사용하면 직관적이다, 그러나 결국 누락하는 케이스를 만들기가 쉬워진다. 누락하는 케이스를 만드는 코드는 결국 버그를 만들고 유지보수하기 어려워진다.

알고리즘을 잘 푸는 것도 중요하지만 결국 알고리즘 문제 풀이에서 우리가 얻어가야 할 것은 최대한 명료하게 주어진 테스트 케이스를 if 예외처리를 남발하지 않으면서 깔끔하고 이해 하기 쉽게 코드를 작성하는 법, 그런 부분을 단련할 수 있다는 점에서 긍정적인 부분도 분명히 있다고 생각한다.

취업만을 위한 그런 알고리즘 공부가 아니라, 오늘도 괜찮은 코드 한 줄을 작성하기 위해서 어떻게 사용하면 좋을 지 고민할 수 있는 연습을 했다고 생각하면 기분이 좋아진다.

취업 문은 점점 더 좁아지고 지원자에게 요구하는 역량은 날이 갈수록 높아지지만 (과연 뽑는 사람들은 그 정도 실력은 되고? 우리 애 기죽이지 마세요!) 그래도 이건 취업용 공부야! 가 아니라 점점 늘어지는 사고의 흐름을 한 번 끊어내고 조금 더 간결하게 생각하는 접근법을 배운다고 생각하면 더 좋을 것 같다.

사담이지만 이건 나에게도 해당하는 얘기인데, 가만 보면 코드가 너무 흐르는 것 같아서 아쉬움이 남아 더 깔끔하고 이해하기 쉽게 작성하는 법에 대해서 고민하게 된다.

글도 쓰면 쓸수록 다듬어지고 좋아지는 것처럼, 코드도 쓰면 쓸수록 간결하고 이해하기 쉽게 쓸 수 있는 게 진짜 실력이고 성장이지 않을까?

어렵지만 모두들 파이팅!!

fin.