지난 1회차 갭체크 응시 결과에서 진단받은 제 약점은 이랬습니다.
- 1차원 배열, 2차원 배열 → 불안정
- 시뮬레이션 I → 부족
이번 2회차에서는 갭체크가 진단해 준 결과 그대로, 약점 챕터부터 정직하게 다시 밟아보기로 했습니다.
갭체크가 추천해 준 챕터, 이렇게 짚어줍니다
갭체크 결과 페이지에서 추천 챕터 보기로 들어가면, 제 트레일에 맞춰서 챕터가 정렬되어 있습니다.

- Chapter 7. 1차원 배열 — 불안정한 지식 추천
- Chapter 8. 2차원 배열 — 불안정한 지식 추천
각 챕터 박스에 "Lessons: 한 줄에 여러 개 입력, 인덱스 참조, 배열 만들기, Count 배열, 탐색…" 이런 식으로 다룰 개념이 미리 적혀 있어서, 본격적으로 들어가기 전에 학습 범위가 한눈에 보입니다.
무엇을 배우게 될지 모른 채 끌려가는 게 아니라, 학습자가 전체 그림을 먼저 받고 시작하는 구조라 동기 부여에 도움이 됐어요.
이번 주차에는 Chapter 7부터 본격적으로 풀었습니다.
Lesson 1. 한 줄에 여러 개 입력 — 기본기로 돌아가기
Trail 1. Novice Low의 Chapter 7, 첫 번째 레슨 "한 줄에 여러 개 입력"부터 시작했습니다.

개념 설명을 읽다가 멈칫한 부분이 있었어요.
"다음 코드를 수행해보면, 각 원소의 type이 string인 것을 알 수 있습니다."
당연한 사실인데도, input().split()이 문자열 리스트를 반환한다는 것을 명시적으로 짚어주는 흐름이 좋았습니다.
기본 개념부터 차근차근 짚고 가는 학습 흐름이라, 어이없는 자료형 버그를 막아주는 감각이 잡혀요.
첫 문제: 원소 10개의 합
레슨에 짝지어진 첫 문제를 풀어봤습니다.

10개의 원소가 주어졌을 때, 주어진 10개의 원소의 합을 출력하는 프로그램을 작성해보세요.
(Easy, 10XP, 평균 3분, 정답률 89%)
너무 쉬워 보이는 문제지만, 일부러 라이브러리에 의존하지 않고 손코딩으로 풀어봤어요.

제출 결과: 맞았습니다! (45ms, 16MB)
테스트케이스 Case1, Case2 모두 초록불이 들어왔습니다. 별 거 아닌 문제인데도 채점 결과 화면에서 초록 배너를 보니 묘하게 기분이 좋더라고요.

내 코드 vs 모범 코드, 그 미묘한 차이
문제 풀이 후 해설을 열어봤습니다.

정답 자체는 둘 다 같지만, 자세히 보면 두 코드의 사고 방식이 다릅니다.
구분 내 코드 모범 코드
| 입력 처리 | 문자열 리스트로 받음 | 정수 리스트로 받음 |
| 형 변환 위치 | 루프 안에서 매번 변환 | 입력 받을 때 한 번에 변환 |
| 변수명 | sum (Python 내장 함수와 충돌) | sum_val (충돌 회피) |
제 코드도 통과는 하지만, 모범 코드가 보여준 두 가지 습관이 마음에 박혔습니다.
1. 입력과 연산을 분리하는 사고방식
입력 단계에서 자료형 변환까지 끝내버리면, 그 이후 로직은 "이미 정수 배열"이라는 전제로 깔끔하게 진행됩니다.
짧은 문제에서도 관심사 분리 원칙이 적용된다는 게 인상적이었어요.
2. sum을 변수명으로 쓰지 않기
무심코 sum을 변수로 썼는데, Python 내장 함수와 이름이 충돌합니다. 동작은 되지만 같은 스코프에서 sum()을 호출할 수 없게 되죠.
모범 코드는 sum_val로 회피했고, 앞으로 무조건 따라야겠다고 메모해 뒀습니다.
토론 섹션에서 얻은 것
이 문제 토론 탭에 들어가 보니 답글이 8개나 달려 있었습니다.

그중 흥미로웠던 질문이 하나 있었어요.
"sum() 함수를 쓰지 않는 이유가 따로 있나요?"
저도 처음에 똑같이 들었던 의문이었거든요. sum() 한 줄이면 끝나는데 왜 굳이 루프를 도는지.
답변을 읽다 보니 이 챕터의 목적이 곧 "for 루프로 배열을 순회하는 감각을 손에 새기는 것" 이라는 게 명확해졌습니다.
코딩테스트 문제는 단순히 답을 맞히는 게 아니라 알고리즘을 직접 구현해낼 수 있는지 검증하는 자리잖아요. 이 차이를 다시 한 번 다잡을 수 있었어요.
다른 사람들의 질문과 오답 코드를 보면서, "다들 비슷한 지점에서 헷갈리는구나" 싶어서 학습 동기가 오히려 올라갔습니다.
코드트리 IDE, 테스트케이스 환경 사용 후기
웹 IDE가 답답할까 걱정했는데, 의외로 깔끔했어요.
- 테스트케이스 즉시 확인: Case1, Case2가 우측 패널에 바로 뜨고, 통과 여부가 색깔로 한 번에 보입니다.
- 나의 출력 vs 정답 비교: 틀렸을 때 어디서 어긋났는지 입력/내 출력/정답이 줄 맞춰 나옵니다. 디버깅 시간이 확 줄어요.
- 제출 목록 기록: 내가 어떤 코드로 통과했는지, 수행 시간과 메모리까지 기록이 남습니다. 나중에 돌아볼 수 있어요.
특히 좋았던 건 "전체 코드 보기 / 내 코드만 보기" 토글이었습니다. 다른 사람들의 통과 코드를 옆에 놓고 비교할 수 있어서, 내 풀이의 군더더기를 객관적으로 보게 됐어요.
약점 유형을 돌파하며 달라진 감각
이번 주 챕터 하나를 마치면서 가장 크게 달라진 점은 "라이브러리 없이도 한 줄 한 줄 풀어낼 수 있다" 는 자신감이었어요.
"문제의 입력을 어떤 자료형으로 받아서, 어떤 루프로 순회하고, 어떤 변수에 누적시킬지" 라는 가장 기초적인 사고 단위가 손에 다시 붙는 느낌이 들었습니다.
특히 1회차에서 못 풀었던 원형 바구니 시뮬레이션 문제를 다시 떠올려 봤는데, 이제는 어떻게 접근해야 할지 윤곽이 잡혀요.
결국 그 문제도 "1차원 배열을 만들고, 인덱스를 모듈러 연산으로 순환시키며 누적" 하는 거였으니까요.
기초가 단단해지니까 시뮬레이션이 더 이상 막연한 영역이 아니게 됐습니다.
다음 주차 계획
- Chapter 7 남은 레슨 (인덱스 참조, 배열 만들기, Count 배열, 탐색) 완주
- Chapter 8 (2차원 배열) 진입 — 시뮬레이션의 본격적인 전 단계
8주가 끝났을 때 갭체크를 다시 응시해서 트레일이 얼마나 옮겨갔는지 확인하는 게 최종 목표입니다.
진단으로 시작해서 약점부터 메워 나가는 코드트리의 학습 흐름이, "어디서부터 손대야 할지 막막한 사람"에게는 특히 잘 맞는 것 같습니다.
3회차에서는 2차원 배열로 넘어간 후기를 들고 오겠습니다.
#코드트리 #코딩테스트 #코테공부 #1차원배열 #알고리즘기초
'코드트리' 카테고리의 다른 글
| [코테 중간 점검] 코드트리 갭체크로 한 달 만에 약점 유형 극복한 후기 (0) | 2026.06.13 |
|---|---|
| [코드트리 후기] 북마크로 나만의 오답노트 & 복습 루틴 만들기 (0) | 2026.06.01 |
| [코테 독학] 알림톡으로 코드트리 1일 1코테 습관 만들기 (0) | 2026.05.21 |
| [코드트리 사용후기] 코딩테스트 준비, 갭체크부터 시작 (0) | 2026.05.11 |