[코테] 코딩 테스트 준비 방법

곽동현·2024년 4월 15일
0

코딩 테스트를 준비하기 전에

타인의 풀이를 보면 사고를 넓힐 수 있다.

다른 사람들이 작성한 코드를 보며, 다양한 문제풀이 접근 방식이나 코딩 스킬을 습득해라!

나만의 테스트 케이스를 추가해라.

코드로 구현하기 전예외 상황을 충분히 생각하고, 사전에 테스트 케이스를 추가하라.
즉, 문제 분석 과정에서 테스트케이스를 추가하라.

기록하라.

  1. 못 푼다고 그 자리에서 그만두고 정답보기 (X)
  2. (문제는 풀지 못했지만) 어디까지 생각해봤는지 일단 기록하기.
    -> 생각을 기록해두는 것 만으로도 도움이 엄청 된다.

나만의 언어로 요약하라.

개념을 습득했다면, 정말 이해했는지 확인하는 방법으로는 내용을 요약하는 것이다.
글, 수식, 그림 모두 활용해도 좋다.


코딩 테스트 효율적으로 준비하기

언어 선택하기.

언어를 활용한다는 것의 기준은?

  • 변수 선언하기
  • 함수 정의하기
  • 컬렉션 자료형 다루기
  • 조건문, 반복문 사용하기

-> 해당 사항을 잘 할 줄 안다면 언어를 활용할 준비가 되었다는 것.

📌문제 분석 연습하기

  1. 문제를 쪼개서 분석하기
    -> 문제 전체를 한번에 분석하는 것보다, 문제를 동작 단위로 쪼개서 분석해라.
  2. 제약 사항을 파악하고 테스트 케이스를 추가하기
    -> 제약 사항을 사전에 분리/파악하고 이를 대비해서 테스트 케이스를 미리 추가해라.
  3. 입력값을 분석하기
    -> 입력값이 100만개이면, O(N^2) 의 방법으로는 절대 통과할 수 없다. (알고리즘 뭐 쓸지 사전 파악)
  4. 그리디하게 접근할 때는 근거를 명확히 하기.
    -> 그리디 문제가 아닌데, 그리디로 접근하면 폭망한다.
  5. 데이터 흐름이나 구성을 파악하기.
    -> 삽입/삭제가 빈번하며, 최댓값/최솟값을 반복한다면 Heap 자료구조를 고려해야 하듯이, 데이터 흐름과 구성을 파악하는 것은 중요하다.

📌문제 분석이 끝나면 의사 코드로 설계하기

의사코드는 프로그램의 논리를 설명하고 알고리즘을 표현하기 위해 작성한 일종의 지침서이다.

  • 원칙1 : 프로그래밍 언어로 작성하면 안된다.
  • 원칙2 : 일반인도 이해할 수 있는 자연어로 작성해야한다.
  • 원칙3 : 일정한 형식없이 자유롭게 작성한다.

1. 세부 구현이 아닌, 동작 중심으로 작성

세부 구현을 고려하는 순간, 의사코드는 설계가 아닌, 구현으로 변질되어 버린다.

  • 국어,영어,수학 점수를 입력받는다 ( O )
  • 크기가 256 바이트인 문자열 배열 3개 선언 후, 국어,영어,수학 점수를 입력받는다 ( X ) -> 프로그래밍 요소는 배제하라

2. 문제 해결 순서로 작성

문제 해결 순서대로 작성해야 한다.

    1. 영어 성적 입력
    1. 영어 성적이 60점을 넘는지 확인(분기)
    • 60점 이상 : 통과
    • 60점 미만 : 실패

3. 충분한 테스트

구현을 하고 테스트를 검증했을 때 실패한다면, 수정이 점점 어려워진다.
구현에 들어가기 전, 충분한 테스트 케이스와 테스트를 진행해봐라.

profile
실패의 경험들을 채워나가기!

0개의 댓글