블로그 글이니 당연하겠지만, 이 글은 개인적인 견해가 담겨있는 글입니다.
신입사원 공채, 경력사원 공채에서 가장 많이 쓰이는 언어는 C/C++과 Java이며, 요즘에는 Python도 지원하는 경우가 꽤 늘고 있습니다.
솔직히 어떤 언어를 사용해야 할 지는 정답은 없지만, 각자에게 해답은 있을 수 있습니다.
일단 고려해야하는 부분들이 다양하게 있습니다.
언어 선택의 기준
본인이 익숙하거나 잘하는 언어
본인이 이미 어느정도 능숙하게 사용하거나, 익숙하게 쓸 수 있는 언어가 있다면 해당 언어를 사용하는 것을 고려해보면 좋습니다.
딱히 능숙한 언어가 없고, 다 고만고만하다면 다른 기준으로 언어를 골라서 조금 더 익숙해지게 연습하는 것도 좋습니다.
만약 본인이 익숙한 언어가 C/C++, Java, Python 중 하나라면 그 언어를 골라서 쭉 공부하는게 좋을 것 같습니다.
많이 지원하는 언어
여기서 지원한다는 것은 원서 지원(apply)가 아닌, 언어 지원(support)라고 볼 수 있습니다. 본인이 만약 A사에 지원하려고 하고 주력언어가 OCaml인데, 해당 회사 코딩테스트 플랫폼에서 OCaml을 지원하지 않는다면 어떻게 될 까요?
많이 지원하는 언어들은 이러한 부분을 고려할 필요가 덜합니다.
일반적으로 C/C++및 Java를 코딩테스트 언어로 지원하지 않는 경우는 거의 없다고 보시면 됩니다.(특수한 직종이 아닌 이상)
그리고 Python의 경우 회사에 따라서 지원할 수 도, 아닐 수도 있습니다.
그리고 일부 회사는 꽤나 많은 언어들을 지원하는데, Javascript와 같은 언어도 지원하는 경우도 간혹 있습니다.
공부할 자료가 많은 언어
코딩테스트 공부를 하기 위해서는, 문제 풀이 코드들을 보면서 공부를 할 일들이 있을 것인데, 본인의 주력 언어가 C#인데 대부분의 알고리즘 문제 풀이 코드들이 C++나 Java이고 C++과 Java를 읽지 못한다면 공부하는데 있어서 애로사항이 있을 수 있습니다.
문제풀이 코드는 C/C++언어 코드가 제일 많고, 그 다음으로는 Java가 많다고 볼 수 있습니다. 이러한 점에서 C/C++이나 Java를 선택하면 남의 코드를 참고할때 유리한 점이 있습니다.
물론 C/C++, Java를 잘 쓰진 못하더라도 읽기라도 잘 한다면 알고리즘 공부에 크게 어렵지는 않을 것입니다.
결론
본인이 이미 익숙한 언어가 있다면 그 언어로 해라.
(Java를 잘하면 그냥 Java 하면 된다)
(Python을 잘하면, 원하는 회사에서 지원하면 파이썬 쓰고 아니면 C++해라)
본인이 원하는 회사에서, 본인의 주력 언어로 코딩테스트를 볼 수 없다면, C/C++, Java, Python 중에서 제일 편한거를 하나 골라라.
애매하면 그냥 C/C++을 주력으로 공부하라.
C/C++를 주력언어로 하면 손해 볼 일은 없다.
코딩테스트 수준이 아닌 대회 준비할 거면 그냥 C++해라.
'알고리즘 & Problem Solving' 카테고리의 다른 글
백준 4373번 문제 수집합 풀이 (0) | 2020.01.13 |
---|---|
삼성 SW 역량테스트 및 A형 시험 준비하기 (8) | 2020.01.03 |
Codeforces Round #601 (Div 2) 참가 후기 (0) | 2019.11.22 |
백준 16563번 어려운 소인수 분해 문제와 내 오개념 (0) | 2019.11.14 |
백준 2529번 부등호 문제 풀이 (0) | 2019.11.12 |