0-2 디버깅

그린·2023년 3월 2일
0

디버깅

코딩테스트에서 논리 오류를 잡는 게 중요함.

그런 실수를 제대로 탐색하고 수정할 수 있게 해주는 게 디버깅 스킬이다.

디버깅의 중요성

ex) index 범위 1개 차이로 틀림, int → long으로 변경하지 않아 틀림

이런 경우에 디버깅 제대로 했다면 통과했을 것이다!

디버깅은 코테에 필요한 기술이고, 문제를 풀면서 반드시 해야 하는 과정이다.

디버깅하는 법

중단점을 설정하고 디버깅 기능을 실행해 진행하면 됨.

디버깅 방법

  1. 코드에서 디버깅하고자 하는 줄에 중단점을 설정한다. 여러 개 설정 가능
  2. IDE의 디버깅 기능을 실행하면 1줄씩 실행하거나 다음 중단점까지 실행할 수 있고, 이 과정에서 추적할 변숫값도 지정할 수 있다. 이 방법으로 변숫값이 자신이 의도한 대로 바뀌는지 파악한다.
  3. 변숫값 이외에도 원하는 수식을 입력해 논리 오류를 파악할 수도 있다.

02-2 디버깅 활용 사례 살펴보기

코딩 테스트를 진행하며 실수하기 쉬운 4가지 오류 찾아 보기

  1. 변수 초기화 오류

    • 변수 초기화 로직에서 초기화를 제대로 하지 않은 경우
  2. 반복문에서 인덱스 범위 지정 오류 찾아보기

    • for (int i = 0; i < n; i++) 에서 i < n 또는 i ≤ n 등..

    코테는 나중으로 갈 수록 시간 싸움이다.

    로그를 직접 찍어보는 것은 디버깅보다 시간이 오래 걸리게 됨. 로그로 하면 다시 실행해야 하고 무엇을 찍을지 생각하는 시간도 있고, 디버깅은 전체적으로 보니까 문제를 파악하기 쉬움.

    로그를 찍는 순간 나도 모르게 그 부분만 문제가 있다고 생각을 하게 됨.

  3. 잘못된 변수 사용 오류 찾아보기

    알맞은 변수를 갖다 썼는지

  4. 자료형 범위 오류 찾아보기

    코드를 완벽하게 짠 것 같은데 답이 음수가 나올 수 없는 로직인데 음수가 나왔다면 → long형 등등 더 큰 범위로 바꿔보기.

    • int가 표현할 수 있는 범위를 넘어가면 음수 값으로 나옴
    • Tip) 자료형은 처음부터 long형으로 선언하자!
profile
기록하자

0개의 댓글