대회 목적으로는 C++
코딩 테스트 목적으로는 Python
그걸 쓰면 됩니다. 필요하다면 나중에 배우면 됩니다.
실행 속도가 빠르다.
공부하면서 C++로 된 코드를 읽을 일이 많다.
경시대회나 높은 레이팅이 목적이라면 C++를 배우는 것이 좋다.
배우기 쉽고 최근에 파이썬으로 프로그래밍을 시작하는 사람이 많다.
공부하는 데에 필요한 자료도 충분히 많다.
코딩 테스트를 준비하기 위해 새로 언어를 배운다면 파이썬이 좋다.
실행 속도가 많이 느려서 경시대회용으로는 적합하지 않다.
알고리즘 공부를 하기 위해 자바를 처음부터 배우는 건 권하지 않는다. 자바의 중요한 특징들이 알고리즘 문제 풀이와 큰 관련이 없다.
프로그래밍 대회에 주로 사용되는 부분만 설명합니다. 자세하게 공부하고 싶은 분은 다른 자료도 찾아보는 것을 추천드립니다.
C++은 C에 기존에 없던 기능들을 추가한 언어입니다. 대표적으로 OOP와 관련된 기능들이 있습니다. 다만 OOP와 관련된 기능들은 문제 풀이에 잘 사용하지 않습니다.
C++에는 강력한 라이브러리인 STL(Standard Template Library)이 있고, STL에 구현된 자료구조들은 문제 풀이 과정에 큰 도움이 됩니다. 알고리즘을 공부할 때 관련된 컨테이너에 대해서도 공부하면 좋습니다. 저는 아래 컨테이너들을 자주 사용합니다.
pair
vector
string
stack, queue, deque
priority queue
set, map
multiset, multimap
unordered_set, unordered_map
C 코드는 보통 C++ 컴파일러로도 실행할 수 있습니다. C에 익숙하다면 평소처럼 C 기반으로 코드를 작성하고 C++ 라이브러리를 추가로 사용해도 됩니다.
BOJ 언어 도움말 https://www.acmicpc.net/help/language
어떤 C, C++, Java, Python을 사용해야 할까? - baekjoon https://www.acmicpc.net/blog/view/95
강의 자료: 세그먼트 트리 (0) | 2022.07.09 |
---|---|
FAQ: 알고리즘 공부와 고등학교 수학 (0) | 2022.07.01 |
알고리즘 문제 풀이: 좋은 코드를 작성하기 위한 고민들 (0) | 2021.09.28 |
알고리즘 문제 풀이를 위한 C++ 카탈로그 (0) | 2021.09.28 |
알고리즘 문제 풀이: 자주 묻는 질문들 Top 10 (1) | 2020.11.08 |
댓글 영역