728x90
반응형
안녕하세요!
이번 기사는 코딩 테스트를 어떤 언어로 풀 지 고민하는 사람들을 위한,
대표적인 코딩 테스트 언어 특징 소개 기사입니다 !!
코딩 테스트(이하 "코테") 는 개발자를 대상으로 하는 채용 과정에서 매우 중요한 단계 중 하나입니다. 주로 알고리즘과 문제 해결 능력을 평가하기 위해 실시되는데, 코테에 자주 사용되는 Python, Java, JavaScript 각각의 특성을 알아볼까요?
Python
장점
- SSAFY Python 반이라면 Python으로 알고리즘 및 자료구조를 체계적으로 학습할 수 있다.
- 문법이 다른 언어에 비해 아주 간결하기 때문에 학습을 빠르게 할 수 있다.
- 알고리즘 관련 문서, 참고 자료가 굉장히 많은 편이다.
- list comprehension을 이용하면 편하게 list를 선언할 수 있다.
- 입력받을 때, input과 map 을 이용하여 쉽게 입력받을 수 있다.
- Permutation 라이브러리를 이용해 순열 구현을 쉽게 할 수 있다.(삼성 SW 역량 테스트에서는 불가능)
단점
- Python 코드가 매우 간결한 만큼 가독성이 안 좋게 받아들여질 수도 있다.
Java
장점
- SSAFY 전공 Java반, 비전공 Java반이라면 Java로 알고리즘을 배우는 기간이 있어서 더욱 체계적으로 학습하고 적용시킬 수 있다.
- Back End 개발자를 희망한다면 굳이 다른 언어를 선택하지 않고 Java로 알고리즘 문제를 풀어서 Java 언어에 대한 이해도를 높일 수 있다.
- Java는 type을 지정하는 것이 엄격해서 그로 인해 오류 발생률이 적은 편이다.
- Python 처럼 Java 관련 알고리즘 학습 자료들이 매우 많아서 공부하기 좋다.
- 코딩 테스트를 볼 때 Java가 없는 경우는 없다.
- Compareable 인터페이스, Hash Map, BufferedReader와 BufferedWriter(또는 StringBuilder), Stream 클래스 등을 활용하면서 알고리즘 문제를 더 효율적으로 풀 수 있다.
단점
- 초기 학습 곡선이 가파르다.
- 타 언어에 비해 코드가 장황해지는 경향이 있다.
JavaScript
장점
- Front End 개발자를 희망한다면, 기업 코딩 테스트에서 JavaScript으로만 보게 하는 기업이 종종 있어서 JS 학습과 함께 준비할 수 있다.
- 따로 배열 크기 선언을 하지 않아도 돼서, 제한 없이 배열을 사용할 수 있다.
단점
- 배열의 범위를 벗어나는 곳을 참조해도 에러가 나지 않고 undefined를 반환하는 바람에 문제가 생길 수 있다.
- Python과 Java에 비해 자료구조 자체를 구현해야 하는 경우도 있어서 알고리즘 문제를 선택하고 푸는 데 제한이 있을 수 있다.
이렇게 언어별 특징을 소개해드렸지만, 코딩 테스트를 준비하는 과정에서 언어 선택은 개인의 직무, 선호와 특정 문제 유형에 대한 언어의 강점을 고려해야 합니다. 본인에게 맞는 언어를 선택해서 하나의 언어를 주력으로 학습하시면 좋을 것 같습니다.
728x90
반응형