코딩테스트 언어 선택 / Python → Java 변경 이유 / 코딩테스트 팁
코딩테스트 언어 선택
Python 선택 이유
- Java, C에서 직접 구현해야 하는 코드를 파이썬에서는 기본 제공하는 경우가 많아 코드가 간결해집니다.
- 알고리즘 대회가 아닌, 기업 코딩테스트에서 파이썬이 느려서 탈락하는 경우는 거의 없다고 합니다.
- 코딩테스트에 유리한 언어가 파이썬이기 때문에, 좋은 강의가 대부분 파이썬으로 나와있습니다.
- 코딩테스트 공부 시간을 최소화하기 위해 파이썬으로 준비하기로 결정하였습니다.
- 파이썬은 웹 크롤링, 데이터 정제에 특화되어 개발형 코딩테스트 언어로도 유리합니다.
Python → Java 변경 이유
- 신세계 등 대기업 코딩테스트는 Java로 픽스되어서 파이썬으로 못 푸는 경우가 꽤 있습니다.
- 파이썬 문법을 자주 안쓰니까 익숙하지 않아 문제 풀 때 헷갈려서 더 막히기도 했습니다.
- 웹 개발자로서 코테 준비와 동시에 주력 언어인 Java를 마스터하고 싶었습니다.
- 파이썬 내장 모듈을 외워서 푸는 것보다, 로직을 직접 구현하며 공부하고 싶었습니다.
- 평소에 자주 쓰는 언어라서 습득이 빠르고 응용하기 쉽다는 장점이 있습니다.
코딩테스트 팁
코딩테스트 공부 순서
- 선택한 언어 문법 공부
- 프로그래머스 입문 Lv.0 100문제 풀기
- 프로그래머스 코딩 기초 트레이닝 Lv.0 124 문제 풀기
- 자료구조, 알고리즘 공부
- 프로그래머스 코딩테스트 고득점 Kit 1~3단계 풀기
- 코딩테스트 스킬체크 1~3단계 풀기
- 백준 골드3까지 풀기
- 카카오 등 대기업 코테 문제 풀기
대기업 코테 난이도
프로그래머스 3단계, 백준 골드3, 코드포스 블루 레벨을 풀 수 있으면 대부분 합격 가능합니다.
잘 안 나오는 프로그래머스 LV.4 이상은 일단 건너 띄우고 공부해도 좋습니다.
코딩테스트 문제 공부 방법
- 문제 설명, 제한사항, 입출력 예를 꼼꼼히 이해합니다.
- 코드 설계를 주석으로 작성하고 문제를 풀어봅니다.
- 30분 넘게 문제를 풀지 못하면, 검색하여 답안을 제출합니다.
- 마음에 드는 답안의 주석을 chatGPT에게 요청합니다.
- 위에서부터 순차적으로 한 줄씩 이해하며 주석을 수정합니다.
- 본인 스타일에 맞게 코드를 개선합니다.
- 시간이 지난 후, 모든 코드를 초기화하고 다시 풀어봅니다.
- 힌트 없이 코드를 구현할 수 있게 되면 다음 문제로 넘어갑니다.
코딩테스트 시간복잡도
- 입력 값의 크기가 10의 8승(1억) 이상이면, 시간복잡도 O(n) 이하 자료구조/알고리즘을 선택합니다.
- 제한시간 1초 문제에 시간복잡도 O(n²) 자료구조/알고리즘을 사용하려면 입력 값이 5,000 이내여야 합니다.
코딩테스트 동기부여
- 입사할 수 있는 좋은 기업이 더 많아집니다.
- 자료구조, 알고리즘을 직접 구현하며 공부할 수 있습니다.
- 실력 상승과 성취감을 원동력으로 풀면 좋습니다.
코딩테스트 풀면서 느낀점
- 문법을 익히고 유용한 자료구조 객체나 함수를 외우는 것이 중요합니다.
- 쉬운 문제부터 최대한 많은 문제를 풀어보며 익숙해져야 합니다.
- 문제를 풀고나면 항상 다른 사람의 풀이를 보고 배워서 익혀두는 것이 좋습니다.
- 다른 사람의 풀이에서 좋아요를 많이 받은 짧은 코드가 무조건 좋은 코드는 아닙니다.
- Java 코테는 스트림보다 디버깅이 용이하고 성능이 좋은 for문 사용이 권장됩니다.
- 프로그래머스, 백준 등 여러 사이트를 골고루 풀어봐야 다른 사이트도 적응하기 쉽습니다.
Leave a comment