이번 글은 코드트리 청약챌린지 3주차 미션으로 작성하는 학습 후기다.
2주차에는 갭체크를 통해 현재 내 실력을 점검했고, 3주차에는 그 결과를 바탕으로 실제 커리큘럼을 따라가며 부족한 부분을 채워보았다. 이번에 내가 학습한 내용은 Trail 2 프로그래밍 연습의 챕터 1 함수 중 레슨 1 ‘값을 반환하지 않는 함수’였다.

코드트리의 커리큘럼은 큰 Trail 안에 챕터가 있고, 다시 그 안에서 레슨 단위로 학습이 이어지는 구조였다. 단순히 문제만 풀게 하는 방식이 아니라, 먼저 개념을 확인하고 그 내용을 바탕으로 연습 문제를 풀어보는 흐름이라 처음 학습하는 내용도 부담 없이 따라갈 수 있었다. 이번에 학습한 함수 레슨도 기본 개념을 이해한 뒤, 직접 코드를 작성하면서 익숙해지는 방식으로 구성되어 있었다.
이번 레슨에서 다룬 값을 반환하지 않는 함수는 말 그대로 특정 값을 돌려주는 것이 목적이 아니라, 함수 안에서 정해진 동작을 수행하는 형태였다. 처음에는 함수라고 하면 결과값을 return으로 돌려줘야 한다는 이미지가 강했는데, 이번 레슨을 통해 출력이나 반복되는 동작을 정리하는 데에도 함수를 사용할 수 있다는 점을 다시 이해하게 되었다.
문제를 풀면서 가장 많이 신경 쓴 부분은 “어떤 코드를 함수로 분리해야 하는가”였다. 평소에는 짧은 문제를 풀 때 코드를 위에서부터 순서대로 작성하는 편이었는데, 함수 단원에서는 반복되거나 의미가 분명한 동작을 따로 묶는 연습이 필요했다. 처음에는 굳이 함수를 만들어야 하나 싶기도 했지만, 문제를 풀다 보니 함수로 나누면 코드의 역할이 더 잘 보인다는 점을 느꼈다.
예를 들어 같은 출력 형식이 반복되거나 특정 작업을 여러 번 수행해야 하는 경우, 함수를 사용하면 코드가 훨씬 정리되어 보였다. 단순히 정답을 맞히는 것뿐만 아니라, 다른 사람이 봐도 이해하기 쉬운 코드를 작성하는 연습이 된다고 느꼈다. 코딩테스트에서도 복잡한 구현 문제를 풀 때 기능을 적절히 나누는 습관이 도움이 될 것 같았다.

레슨을 끝까지 풀고 나니, 함수에 대한 감각이 조금 더 선명해졌다. 이전에는 문제를 풀 때 필요한 코드를 한 번에 작성하는 데 집중했다면, 이번에는 “이 부분은 함수로 따로 빼면 더 보기 좋을까?”, “이 함수는 어떤 동작을 담당해야 할까?”를 생각하게 되었다. 기본 문제부터 연습 문제까지 따라가면서 같은 개념을 여러 번 적용해 볼 수 있었던 점도 도움이 되었다.
코드트리의 장점은 학습 흐름이 단계적으로 이어진다는 점이었다. 다른 학습 서비스에서는 문제를 고르는 것부터 고민해야 하는 경우가 있었는데, 코드트리는 정해진 커리큘럼을 따라가면 자연스럽게 개념 학습과 문제 풀이가 이어졌다. 특히 함수처럼 기초 개념이지만 앞으로 계속 사용하게 될 내용을 레슨 단위로 나누어 학습할 수 있어서 좋았다.
해설과 모범코드도 복습할 때 도움이 되었다. 내가 작성한 코드와 비교하면서 함수 이름을 어떻게 정리했는지, 함수 안에 어떤 동작을 넣었는지 확인할 수 있었다. 내가 푼 코드가 정답이더라도 모범코드를 보면 더 간결하게 작성할 수 있는 부분이 보였다. 이 과정에서 단순히 답을 맞히는 것보다 코드를 더 깔끔하게 만드는 연습도 중요하다고 느꼈다.
아쉬운 점을 하나 꼽자면, 함수가 실제 코딩테스트 문제에서 어떻게 활용되는지 예시가 조금 더 많으면 좋겠다고 생각했다. 기초 레슨에서는 개념을 익히는 것이 우선이지만, 나중에 구현이나 시뮬레이션 문제에서 함수를 어떻게 나누면 좋은지까지 연결해서 보여주면 더 도움이 될 것 같았다.
코드트리는 아래 링크에서 확인할 수 있다.
👉 코드트리 바로가기
Codetree: Master Coding Interviews - Data Structures & Algorithms
Master algorithms, ace tech interviews, and elevate your coding skills with Codetree's systematic curriculum and expert-crafted problem sets.
www.codetree.ai
이번 3주차 학습을 통해 함수는 단순히 문법을 배우는 단원이 아니라, 코드를 더 구조적으로 작성하기 위한 기본 도구라는 것을 느꼈다. 특히 값을 반환하지 않는 함수는 반복되는 출력이나 특정 동작을 정리할 때 유용했고, 문제를 더 깔끔하게 풀 수 있도록 도와주었다.
아직은 간단한 함수부터 연습하는 단계지만, 이번 레슨을 통해 코드를 역할별로 나누는 습관을 조금씩 들일 수 있었다. 앞으로 더 복잡한 문제를 풀 때도 무작정 코드를 길게 작성하기보다, 필요한 기능을 함수로 분리하면서 풀이 과정을 정리해 보고 싶다. 이번 3주차는 함수 기초를 다시 다지고, 앞으로의 코딩테스트 공부 방향을 잡는 의미 있는 시간이었다 💪