본문 바로가기
코딩/코딩테스트

코딩테스트 관련 자료 정리 & 주관적인 준비 방법

by yenua 2024. 4. 9.
반응형

0. 코딩/프로그래밍 자체가 아예 처음이라면..

  • 시간 진득하게 두고 프로그래밍 언어 하나 잡고 공부 - 기초 문법(자료형/입출력/조건문/반복문) + 함수 정의/사용법 + 기본적인 라이브러리 가져오는 법 정도
    • 코테용 언어로 1위가 C++, 2위가 Python
    • C++은 속도가 빨라서 시간초과 날 일이 적고, Python은 구현하기 쉬워서 가성비가 좋다.
      • 경험상 C는 C/C++ 무조건 껴서 풀이해야 하는 경우 1번 문제 통과용으로 선택하는 경우가 많았고, JAVA나 JavaScript의 경우 웹개발자들 대상으로 하는 공고에서 가끔 무조건 해당 언어로 제한하거나, 특이점이 온 개발자들(...)의 경우 해당 언어를 선택하는 경우가 많았다.
      • C와 Python3의 경우, 코딩도장이 국룰 학습 플랫폼이었으나 최근 유료화 정책이 생긴 것으로 알고 있어 확인 필요

1. (코딩/프로그래밍 경험은 있지만) 사용하고자 하는 언어를 사용한지 3달 이상 되었거나 코테용으로 새로 배우고자 하는 경우

  • 기초 문법 복습(또는 학습)하기 - 훑어보는 정도면 충분(까먹었을 때 바로 찾아볼 수 있는 정도)
    • 파이썬
      : '이것이 코딩테스트다 - 부록 A 코딩 테스트를 위한 파이썬 문법' 보기
    • C
      : '한번에 보는 C언어 문법 정리' 블로그 글 정독 - 링크
    • C++
      : C언어 기초 문법 학습 + 'C++ 문법 정리' 블로그 글 정독 - 링크
  • 선택한 언어로 코딩테스트 시험을 치르게 될 온라인 저지 플랫폼에서 기초 문제 1~2개 풀면서 감 익히기
    • 소프티어 레벨 1 / 프로그래머스 기초 문제 / 백준 100제
 

[소프티어] A+B 풀이 - Python3

문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 제약조건 두 정수 A와 B는 1이상 9이하의 정수이다. 입력 형식 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스

yenua.tistory.com

2. 알고리즘 공부하기

  • 인강이든, 책이든 본인하게 맞는 방식으로 선택하여 본인 언어에 맞는 코딩테스트 알고리즘 공부하기
    • 파이썬의 경우 나동빈 저 "이것이 코딩테스트다" 강력 추천한다. - 도서 링크
    • C++의 경우 주변에서 "Do it! 알고리즘 코딩 테스트 C++ 편"을 주로 읽는 것 같았다.
    • 사실, 자기한테 맡는 책과 인강이 최고다. 도서관이나 오프라인 서점에서 슥 보고 구매를 결정하거나, 맛보기 강의를 듣고 자기한테 맞는 인강을 구매하는 것을 추천한다.
      • 그냥 학교 도서관이나 인근 도서관에서 빌릴 수 있는 걸로 해도 된다. 본인의 경우, 학교 전자도서관에서 이코테를 대여하여 보았는데, 충분했던거 같다.
  • 일단 빠르게 1회독 후 이론 및 구현 방법 복습하면서 연습 문제 풀어보기

3. 알고리즘 문제 연습하기

  • 프로그래머스 알고리즘 고득점 kit - 링크
  • 백준 알고리즘 분류별 문제 - 링크
    • 인기 문제집을 하나 잡고 푸는 방법도 있을 거 같다.
  • 원하는 기업명 + 코딩테스트 를 키워드로 검색해보면 친절한 사람들이 기출문제와 유사한 백준 또는 프로그래머스 문제를 집어주는 경우가 있었다. 그걸 보고 풀어보면 도움이 될 것 같다.

4. 추가 팁

  • 좀 빡빡한 곳은 주어진 데이터 개수의 최대치를 가지고 시간초과나, 메모리 제한 관련 오류가 나서 정답을 출력하지 없는 경우 들을 테스트 하는 곳이 있다.
    • 데이터 범위의 경계값들을 토대로 테스트 해보기
    • 데이터 개수의 최대값도 통과할 수 있는 코드 짜기 → 코드 구상 단계부터 최대값과, 허용 실행시간을 잘 계산해서 사용 가능한 알고리즘 쳐내기
  • 반례 테스트케이스 찾는 방법
    • 문제를 풀다보면 분명 다 충족하는거 같은데 히든 테스트케이스가 통과를 못하는 경우가 많다. 암만 생각해봐도 본인이 작성한 코드의 반례를 못찾는 경우, 찾는 방법이 3가지 있다.
      1. 온라인 알고리즘 문제 저지 플랫폼의 질문게시판을 활용한다.
        • 백준: 문제별 질문게시판 활용 - 예시 링크
          • 몇 %에 틀렸습니다가 뜨는지 확인 후, 해당 부분 반례를 질문하는 글의 답글을 확인하면 좋다.
        • 프로그래머스: 문제별 질문하기 게시판 활용 - 예시 링크
          • 몇번 테스트케이스가 틀렸는지 확인 후, 해당  부분 반례를 질문하는 글의 답글을 확인하면 좋다.
      2. 알고리즘 대회 출제 문제는 해당 대회 홈페이지에 제공되는 테스트케이스를 확인한다.
        • 관련 링크 정리되어 있는 블로그 - 링크
      3. 구글에 문제명 또는 번호(백준)를 검색하여 사람들이 올린 답안 코드를 확인하고, 어떤 로직이 빠졌는지 확인한다.

코테랑 역량검사/인적성과 같이 보는 기업이 많아서.. 아직 합격한 곳은 없지만 이제 시작이니까! 분명 문제는 평균 이상으로 푸는데 테스트케이스가 문제거나 역검에서 걸러진거 같다.

 

이 글을 본 모두가 좋은 결과가 있길 바란다! 취뽀해봅시다~!!!!

 

 

 

 

 

 

 

반응형