코딩테스트에서 논리 오류를 잡는 게 중요함.
그런 실수를 제대로 탐색하고 수정할 수 있게 해주는 게 디버깅 스킬이다.
ex) index 범위 1개 차이로 틀림, int → long으로 변경하지 않아 틀림
이런 경우에 디버깅 제대로 했다면 통과했을 것이다!
디버깅은 코테에 필요한 기술이고, 문제를 풀면서 반드시 해야 하는 과정이다.
중단점을 설정하고 디버깅 기능을 실행해 진행하면 됨.
디버깅 방법
변수 초기화 오류
반복문에서 인덱스 범위 지정 오류 찾아보기
for (int i = 0; i < n; i++)
에서 i < n
또는 i ≤ n
등..코테는 나중으로 갈 수록 시간 싸움이다.
로그를 직접 찍어보는 것은 디버깅보다 시간이 오래 걸리게 됨. 로그로 하면 다시 실행해야 하고 무엇을 찍을지 생각하는 시간도 있고, 디버깅은 전체적으로 보니까 문제를 파악하기 쉬움.
로그를 찍는 순간 나도 모르게 그 부분만 문제가 있다고 생각을 하게 됨.
잘못된 변수 사용 오류 찾아보기
알맞은 변수를 갖다 썼는지
자료형 범위 오류 찾아보기
코드를 완벽하게 짠 것 같은데 답이 음수가 나올 수 없는 로직인데 음수가 나왔다면 → long형 등등 더 큰 범위로 바꿔보기.