Sena's garden

[코드트리] 파이썬 개념 공부 및 C 시뮬레이션1 학습 본문

카테고리 없음

[코드트리] 파이썬 개념 공부 및 C 시뮬레이션1 학습

paraam02 2026. 5. 25. 12:55

 

저번주의 갭체크 이후 내가 C 언어에서 약한 부분이 시뮬레이션이라는 것을 확인했다. 그렇다면 이제는 공부를 해 보아야겠지?

 

https://www.codetree.ai/ko/trails/complete/dashboard/codetree-101

 

하지만 한 동안 코딩을 안 하다 하려고 하니 쉬운 것부터 하고 싶은 마음이 들기 시작했다. 그래서 선택한 것은...

파이썬.

 

파이썬 공부에서 손을 떼고 문제를 파이썬으로 해결하지 않은 지 벌써 3년이 되어가고 있기에 완전 기초 부터 공부를 시작해보기로 했다. 코드트리에서 제공하는 트레일의 가장 첫 번재 레슨인 'Trail 0. Codetree 101 프로그래밍 시작'부터 문제를 풀어보았다.

 

 

그래도 컴퓨터과 짬바가 있지...ㅎㅎ

그냥 완전 기초의 내용이었기 때문에 다른 언어로라도 코딩을 조금이라도 해 본 사람이라면 쉽게 할 수 있을 정도의 난이도였다. 결국 이 정도는 충분히 가능하다고 판단하고 사진처럼 Ch 2의 입출력 앞 부분까지만 하고 Trail 1로 넘어가기로 했다. 

 

그래도 이렇게 Trail 0 부분을 조금이라도 경험하고 넘어간 것이 도움이 되지 않았다고 생각하지는 않는다. 문제와 개념의 내용은 아주 기초적인 내용이었지만, 희미하던 파이썬에 대한 지식이 조금씩 깨어날 수 있는 적응의 시간으로 충분한 역할을 했다고 본다.

 

Trail 1에서부터는 기본적인 파이썬의 문법들을 사용하는 방법들이 나오기 시작했다.

 

Trail 1에서 학습하며 느낀 것은 생각보다 코드트리에서 제공하는 학습 방법이 나에게 잘 맞다는 것이었다. 코드트리의 학습 방법은 '개념 -> 기본 문제 -> 연습 문제 -> 테스트 문제' 순으로 이루어 진다. '기본 출력', '변수와 자료형'과 같은 소단원에서 나타내는 주제에 대한 개념과 그에 따른 문제들이 주어진다.

 

먼저 알려주는 개념들은 생각보다 도움이 되는 내용들이 많이 담겨있었다. 대표적인 예시로는 print에서 사용할 수 있는 sep과 end 사용법에 대한 것이었다. 파이썬을 좀 사용해보거나 공부해 본 사람들은 '그게 뭐?' 이렇게 생각할 수도 있을 것이다. 하지만 내가 처음 파이썬을 배웠을 때 파이썬에 대한 교재를 사용하고 수업을 들었지만, 이에 대한 내용을 자세히 설명해준 곳은 없었다. 전공 수업 시간에서부터 이에 관한 내용은 그냥 가볍게 스치고 넘어갔다. 근데 또 시험에서는 sep과 end가 들어간 문제가 출제되기도 했다. 이건 전공 수업뿐만이 아니라 교양에서도 그랬다. 파이썬 개념과 사용에 대한 내용을 담은 수업을 들은 적이 있었는데, 그 수업 또한 sep과 end에 대해서 설명하지 않았다. 하지만 시험에는 출제되었다.

 

내가 들은 수업들과 교재에서는 모두 이 내용을 그냥 스쳐 지나가거나 가르쳐주지 않았기 때문에 직접 검색하고 공부하지 않는 이상 그 누구도 sep과 end를 제대로 사용하는 방법에 대해 알려주지 않았다. 하지만 코드트리의 Trail 1 내용에서는 이 부분에 대해 자세히 다뤄주고 있었다. sep과 end에 대한 개념과 이것들을 활용한 문제들을 제공해주어, 정확히 알지 못해 sep과 end를 사용하는 것에 약간의 거부감 또는 두려움이라는 모호한 마음을 없앨 수 있는 동기가 되어주었다. 오히려 여러 문장으로 나타내던 것을 더 쉽게 나타내고, 다른 문제들에도 먼저 sep과 end를 적용해서 해결해 나가는 모습들을 발견할 수 있게 되었다.

 

그래서 Trail 1보다 더 높은 난이도의 문제를 푸는 사람들도 각 언어의 개념에 대해서 모호하거나 애매하게 알고 있는 부분이 있는 있다면 프로그래밍 기초 단계의 개념과 문제들을 풀어보는 것을 매우 추천한다. 생각 이상으로 많은 도움을 얻을 수 있을 것이다. 

 

또한 재밌게 공부하고 싶은 사람들에게 코드트리를 통해 공부해 보는 것을 매우 추천하고 싶다. 나 또한 그냥 개념을 읽고 문제를 풀기 시작한 것에서 점점 재미를 느껴 약 4시간 동안 그 자리에서 코드트리만 풀고 있는 모습을 발견할 수 있었다. 위의 내용들만 읽으면 Ch 1 출력같이 앞부분만 풀고 이러는 거 아니야? 라고 생각할 수도 있다.

 

 

하지만 이 사진 보면 생각보다는 많은 내용을 풀었다는 것을 알 수 있을 것이다. 저 초록색 육각형 하나의 개념에 속하는 연습 문제들이 여러 개라는 것을 생각하면 생각보다 문제의 갯수가 많았다는 것을 알 수 있다. 물론 기초적인 내용이기 때문에 내용도 쉽고 문제들도 쉽다. 그래서 많은 문제들을 풀 수 있었던 것이기도 하다. 하지만 오히려 그렇기 때문에 더 재밌게 문제를 풀 수 있었다. 어렵기만 한 내용의 문제들을 풀면 금방 질린다. 하지만 앞에서 배운 내용을 활용하고 다시 사용해보면서 풀다보면 헷갈리거나 어렵다고 생각이 든 문제들도 생각보다 더 쉽게 해결할 수 있었다. 이렇게 배웠던 내용들을 직접 적용해보면서 문제를 해결하고 있다보면 재미를 느낄 수밖에 없었다(물론 이건 사람마다 다르게 느낄 수 있기 때문에 나만 그런 것일 수도 있다). 

 

결론적으로 코드트리의 '프로그래밍 기초' 내용의 개념과 그에 따른 문제들을 풀다보면 이 내용에 대한 것들을 스스로 자연스럽게 학습하고 있는 모습을 발견할 수 있었다. 그래서 각 잡고 '공부해야지!' 하는 마음을 갖고 실행하기 어려웠던 사람이라면 이 코드트리의 트레일을 통해 공부하는 것을 추천하고 싶다(실제로 이 날 이후로 주변 전공생들에게 많이 추천 했다).

 

이 사진은 정말 4시간 동안 문제를 풀며 그 날 쌓인 xp 이다. 정말 방에 불도 안 켜고 계속 문제만 푼 것 같다. 문제들 난이도가 쉬워 각 문제당 xp가 10 이었다는 걸 생각하면 그래도 정말 많은 문제를 푼 것이다.

 

 


 

 

이렇게 파이썬으로 코딩 사고를 약간이나마 깨웠으면 C 언어도 공부해 보아야 하는 것이겠지...

 

우선 갭체크의 추천 챕터에 들어가 추천받은 챕터부터 학습해보기로 했다.

 

첫 번째 내용은 '날짜와 시간 계산'이었다.

 

Warmup에 들어가면 이렇게 어떻게 계산해 볼 수 있는지 알려준다. 사진처럼 단순히 코드 진행해 해결하는 방식의 코드 또한 제공해주기 때문에 기본적으로 코드가 어떻게 돌아가야 하는지 부터 고민이 될 때 문제를 바라보는 이해도를 높일 수 있었다. 사진에서는 나오지 않았지만, 아래쪽에 시뮬레이션을 직접 진행하지 않더라도 쉽게 답을 구할 수 있는 것에 대한 조언도 제공해 주어 문제에 대한 다른 접근법 또한 생각해 볼 수 있었다. 

 

이렇게 문제 접근법과 그에 따른 여러 예제 문제를 풀어봄으로써 이와 유사한 문제에 대해 어떻게 접근해야 하는지 이해할 수 있었다. 원래는 지금까지 백준을 통해 문제들을 풀어왔다. 다만 백준은 문제만 주어지기 때문에 그 문제에 대해 정확히 어떤 개념을 사용하는 것이 좋고, 어떤 코드가 더 좋은 코드인지, 어떻게 진행하는 것이 더 좋은지에 대한 생각은 하기 쉽지 않다. 한 문제에 대해서 여러 해결 방법을 생각해보는 아주 좋은 학습 태도를 가지고 있는 사람이라면 달랐겠지만, 그렇지 못하고 문제 하나 풀기에 급급했던 나로서는 공부 자체에 도움이 크게 되지 못했다. 

 

지금 생각해보면 백준은 스스로 코딩 공부를 할 줄 아는 사람에게 적합했던 것이었던 것 같다. 주변에서 백준으로 코딩 공부를 한다는 동기들을 볼 때면, '어떻게 백준으로 코딩 공부를 한다는 거지?', '그냥 문제들 풀어보면서 다양한 문제를 어떻게 해결하는 지 알면 되는 건가?' 라는 생각밖에 들지 않았다. 하지만 이렇게 코드트리를 통해 문제를 해결해보면서 '아 이게 코딩 공부구나' 라고 느낄 수 있었다. 한 유형의 문제에 대해서 어떠한 접근법이 더 좋은 구현을 할 수 있는지와, 그것을 어떻게 활용해 문제를 해결할 수 있는지 생각해볼 수 있게 도움을 받을 수 있었다. 어떻게 보면 코딩 공부를 하는 방법을 잘 몰랐던 나에게 있어서는 이렇게 가이드가 존재하는 것이 코딩에 대한 이해도를 더 높일 수 있는 방법이었던 것 같다.

 

즉, 코드트리의 이러한 학습 구조는 그저 문제라는 벽에 부딪히며 학습하던 나에게 올바른 길을 향한 길잡이가 되어주는 것 같았다.

 

이러한 학습 방법은 나와 비슷하게 코딩 공부를 어떻게 해야하는 것인지 모르겠는 사람들에게 많은 도움이 될 것이다. 문제를 바라보고 사고하는 것의 방법과 폭을 넓혀주는 기회라고 생각한다. 

 

 


 

여기서부터의 내용은 모바일로 코드트리의 문제를 해결하면서 느낀 점이다.

정말 그렇게 쓸모있는 내용이 아니기 때문에 무시해도 상관없는 내용이다.

 

 

본가에 향하는 버스 안에서 너무 심심해 코드 트리 문제를 풀어보고자 했던 날이었다. 코드트리에서 오는 카톡에서 모바일로 문제를 풀어볼 수 있다는 내용이 떠올라 코드트리에 들어가 파이썬 문제를 풀어보았다.

 

 

문제가 나타나고 사이트는 아주 정갈하고 좋았다. 항상 키보드나 손으로 작성해보던 코드를 핸드폰 키보드로 작성해보는 것은 나쁘지 않은 경험이었다. 다만 문제를 풀면서 개인적으로 약간 아쉬웠던 것은 존재했다. 

 

사진과 같이 코드를 작성하는 부분은 별도의 창으로 존재한다. 문제가 나오는 페이지에서 에디터 버튼을 눌렀을 때 위 사진과 같이 코드 작성 페이지가 나타나는데, 여기서 다시 문제를 확인하려면 왼쪽 상단의 뒤로가기 버튼을 클릭해야만 한다. 그럼 코드 창이 옆으로 밀리며 들어가고 첫 번째 사진의 페이지가 나타난다. 쉬운 문제의 경우 이렇게 문제와 코드 작성창이 따로 존재해도 크게 상관 없다.

 

다만, 조금 문제가 헷갈리거나 코드를 작성하며 문제를 계속 확인할 때에는 약간 불편함이 있었다. 코드창과 문제를 볼 때 각 다른 페이지로 느껴져 문제를 확인하는 게 자주 여러 페이지를 계속 이동하는 것 같았다. 

 

또한 아이폰에서 왼쪽 화면 스와이프 기능을 통해 뒤로가기를 실행하면 문제가 있는 화면이 아닌 다른 페이지로 이동되기 때문에 코드를 작성하다 문제를 확인하려면 무조건 코드 창 왼쪽 상단 부분의 뒤로가기 버튼을 클릭해야만 한다. 

 

나같은 경우에는 코드를 작성하며 문제를 여러 번 확인하는 습관같은 것이 있다. 그래서 그런지 지금의 문제 페이지와 코드 작성 페이지가 분리되어 있는 것에서 약간의 불편함을 느꼈던 것 같다. 개인적으로는 코드 작성 페이지의 상단 부분에서 드랍 방식을 통해 문제가 보이거나 뒤로가기 버튼 또는 스와이프를 하면 문제가 있는 창이 보이는 방식이면 더 편하게 코드를 작성할 수 있을 것 같았다. 아이폰의 스와이프 기능을 통해 위의 사진처럼 문제를 슬쩍 눈팅하며 코드를 작성할 수 도 있을 테니 말이다.

 

물론 이건 문제를 자주 확인하며 코드를 작성하는 내가 느낀 사소한 불편함일 뿐이다. 항상 코드를 작성하던 데스크탑이나 노트북이 아닌 모바일을 통해서 문제를 풀고 실행하며 결과를 바로 볼 수 있다는 것은 너무나도 매력적이었다. 외부에서 틈틈히 빈 시간에 하나씩 문제를 풀 수 있다는 것은 평소 많은 시간을 앉아서 공부하는 것에 할애할 수 없는 사람에게 도움이 될 것이다.