anott
기록
anott
  • 분류 전체보기
    • 오라클
    • SQL
    • 알고리즘
      • 백준저지
      • 프로그래머스
      • SWEA
    • 개발 관련
    • 프론트엔드
      • TypeScript, Next.js
      • React 공식문서 읽기
hELLO · Designed By 정상우.
anott

기록

카테고리 없음

코딩테스트 오답정리

2024. 3. 31. 23:58

코딩테스트를 매일 공부하는 건 아니지만 감은 잃지 않았으면 하는 마음에서 오답노트를 만들어놓으려고 한다. 중요한 건 쿼리를 짜는 거지만 실수를 너무 많이 해서 줄였으면 하는 마음에서 정리를 해보았다.


경우의 수 모두 확인하기
- 답으로 나올 수 있는 모든 경우를 적어놓자.
  - 결과가 없을 경우 "None"이라도 반환하는 경우가 있을 수 있기 때문에 잊지 말고 적어놓자.
  - 0도 마찬가지이다.

범위 잘 확인하기 (배열 문제에서 중요)
- 초기값을 잘 생각하자.
- 인덱스를 잘 확인하자. 나는 1보다는 0으로 시작하는 게 더 편하니까 항상 0을 기준으로 생각하자.
- for문 안 배열 순서 잘 확인하자.
- 범위를 잘 생각하자.
  - 어떤 경우는 +1을 해주어야 통과한다.
  - <와 ≤는 다르다.
  - 배열의 시작과 끝을 생각해보자. start와 end가 어디서 1씩 증가하는지에 따라 0번째나 마지막 배열이 무시될 수 있다.

풀 때 올바른 방향를 향해 지속적으로 잘 나아가고 있는지 확인하기 (잘못된 방향으로 가면 다시 처음부터 풀어야 하는데 그럴 경우 너무 멘탈이 힘들어질 때가 있다)
- 중간중간마다 콘솔에 찍어서 제대로 풀고 있는지 확인하자 → 나중에 확인하면 늦을 수 있다. 특히 로직 중간중간이 잘못되어서 부분부분 수정해야 한다면 일이 더 커질 수 있다.
- 하나 고치면 답을 확인해보자. 의외로 그게 정답일 수 있다. 여러 개를 고치다가 시간을 불필요하게 날릴 수가 있다.

문제 제대로 읽기 (잘못 읽으면 시간낭비만 할 수 있다)
- 요구하는 문구를 잘 확인하자.
- 이상, 이하는 다르니까 잘 확인하자.
- 가장 가까운 문구를 잘 확인하자. 그냥 옆의 것이 아니라 모든 것들을 확인하고 그중 하나를 고르는 것이다.

테스트케이스 믿지 말기
- 테스트케이스는 불친절할 수 있다는 것을 잊지 말자. 테스트케이스가 엣지케이스를 의미하지는 않는다. 엣지케이스는 다양할 수 있고 내가 직접 찾아야한다. 직접 찾는 것도 테스트에 포함될 수 있다.

마음 가짐
- 잘 안 풀릴 때 스트레스를 너무 많이 받지말고 마음을 다스리자. 다음 기회도 있으니까 마음을 느긋하게 먹자.
- 너무 어려워보여도 의외로 쉬운 문제일 수 있다. 너무 겁먹지 말자. 종이에 하나씩 로직을 정리하다 보면 생각보다 빠르게 문제를 해결할 수도 있다.

 

 

과거에 코딩테스트에서 불필요한 실수를 반복했기 때문에 줄였으면 하는 마음에서 정리를 해보았다. 당분간은 SQL 위주로 풀고 있지만, 언젠가는 코딩테스트를 다시 각 잡고 준비할 수 있으니까 기존에 준비했을 때 문제가 되었던 것을 정리했다.

저작자표시 비영리 (새창열림)
    anott
    anott

    티스토리툴바