채점 실패 vs 런타임 오류
- 틀렸습니다:
solve가 돌아갔지만 출력이 다름 → 로직·형식 - 실행 오류: 예외로 Worker가 멈춤 → 메시지·스택 첫 줄을 읽기
자주 보는 메시지
| 메시지 감각 | 의심 |
|---|---|
Cannot read properties of undefined | arr[i]·obj.x가 없음. 파싱·범위 |
is not a function | 변수에 함수가 아님. 이름 충돌 |
Unexpected token | 문법 깨짐. 괄호·따옴표 |
Maximum call stack | 무한 재귀 |
최소 디버그
function solve(input) {
const lines = input.trim().split(/\n/);
// console.log(JSON.stringify(lines));
...
}
로그는 채점 반환값에 넣지 마세요. 연습장에서만 확인합니다.
한 줄
> 스택의 맨 위 파일·줄이 출발점이다. undefined면 인덱스를 먼저 찍어라.
체크리스트
- 예외 메시지 첫 줄 복사
- undefined인 식 찾기 (
arr,map.get,match결과) - 입력
trim/split결과 길이 확인 - 고친 뒤 같은 실패 케이스만 다시 채점
참고 풀이를 보기 전에, 실패 실제값과 기대값을 한 줄로 적어 두면 학습이 남습니다.
자주 보는 메시지
| 메시지 | 의미 |
|---|---|
| Cannot read properties of undefined | 객체/배열이 없는데 프로퍼티 접근 |
| is not a function | 함수가 아닌 값을 호출 |
| Unexpected token | 괄호·따옴표·쉼표 문법 |
에디터 콘솔에서 스택의 첫 파일·줄만 보면 충분합니다. 라이브러리 깊은 줄은 나중에.
한 줄
> 예외 메시지 → 의심 식 → 입력 확인 → 같은 케이스만 재채점.