Python for Coding Test (0) 왜 파이썬인가?

Jihoon Oh·2020년 12월 27일
0

Python for Coding Test

목록 보기
1/4
post-thumbnail

이전까지의 나는 알고리즘 문제를 풀때 C++를 사용해서 풀었다. 2학년 2학기에 학교에서 들은 자료구조 수업에서 C++을 이용해 자료구조를 들었고, 이에 따라 자연스럽게 3학년 1학기에 들은 알고리즘 수업에서도 C++을 사용했기 때문에, 자연스럽게 C++이 가장 친숙한 언어였던 탓이다. 또한 학교 수업에 C / C++ 를 사용하는 수업은 많은데 반해 Python이나 Java를 사용하는 수업의 수가 더 적었던 탓도 있었다.

하지만 진로를 웹 백엔드쪽으로 정한 이후부터는 생각이 조금 바뀌었다. 일단 더 이상 내가 C++를 접하게 될 일이 많지 않은 것 같다. C++는 분명 성능을 보장하고, 코딩 테스트에서도 STL이라는 강력한 라이브러리를 제공하지만 문제는 코딩테스트 외에 부가적으로 C++를 통해 내가 만들어 볼 만한 프로그램이 딱히 없다고 느꼈다.

때문에 앞으로 지속적으로 사용하게 될 예정인 Python이나 JavaScript를 통해 코딩 테스트를 준비하는 것을 고려해 보았고, 최종적으로는 Python을 사용하기로 결정했다.

이전 프로젝트에서 Node.js와 express를 사용해 백엔드를 구축하면서 JavaScript를 충분히 사용했음에도 JavaScript가 아닌 Python을 사용한 것은 Python이 코딩 테스트에 상당한 강점을 가지고 있는 언어이기 때문이다. 우선 배우기도 쉽고, 기본적으로 제공되는 라이브러리나 자료형이 다양하다는 장점이 있다. 또한 최근 떠오르는 코딩 테스트 용 언어이기 때문에 관련된 자료가 크게 늘어나고 있다는 점도 마음을 사로잡았다. 또한 JavaScript only로 코딩 테스트를 보는 곳도 있지만 대부분 프론트엔드 직군이기 때문에 JavaScript를 배제한 측면도 있다. Python의 장단점을 간략히 정리해보았다.

코딩 테스트에 있어서 Python의 장단점

장점

  • 배우기 쉽다.
  • 기본 제공하는 자료형이 코딩 테스트에 강력하다.
  • 가장 코드 길이가 짧다.
  • 최근 떠오르는 코테 언어라서 레퍼런스의 양이 빠른 속도로 증가하고 있다.

단점

  • 지원하지 않는 기업도 있다. (ex. 삼성 SW 역량테스트 B형, NHN enter.)
  • 실행 시간이 느리다. (기업 코테에서는 크게 지장 없음)

여태까지 학교 수업에서도 Python을 한 적이 없었고, 개인적으로도 Python을 공부해 본 적이 없었기 때문에 Python을 전혀 모르는 백지의 상태라고 볼 수 있었다. 때문에 처음에 알고리즘 문제를 풀면서 자료형이나 메서드를 일일히 구글링해가면서 풀어야 했고, 머릿속에 잘 정리되지 않음을 느꼈다.
따라서 앞으로 몇 번에 걸쳐, 코딩 테스트에 필요한 Python의 기초적인 문법과 자료형, 메서드 등을 정리하고 공부하는 시간을 가져보려고 한다.

profile
Backend Developeer

0개의 댓글