나는 육군 SW 개발에 지원하기 위해 COS PRO Python 1급을 취득했다.
COS PRO에 대한 소개, 시험 일정과 시험 신청방법은 공식 웹사이트에서 찾을 수 있다.
COS PRO 1급은 C, C++, Java, Python 중 하나를 골를 수 있다. 만약 특별히 선호하는 프로그래밍 언어가 없다면 나는 Python을 추천한다. Python을 추천하는 이유는 이 포스트 후반에 설명한다.
COS PRO 준비
공식 웹사이트에서 제공하는 COS PRO 연습 문제와 답안은 이 링크를 통해 다운로드할 수 있다. 하지만 문제 지문이. txt 형식 파일이기에 문제 지문에 포함된 그림을 보고 싶으면 해당 그림의 링크를 인터넷 브라우저로 열어야 한다.
COS PRO 연습 문제들을 조금 더 시험장과 비슷한 환경에서 연습하고 싶다면 groom edu에서 연습하면 된다. groom edu에서 COS PRO를 검색하면 모든 COS PRO를 시험환경과 비슷하게 연습할 수 있는 문제집들이 있다. 모든 문제들은 공식 웹사이트가 제공하는 문제들과 동일하다. 단, 문제집들에 대한 정답은 포함하지 않으니 정답은 공식 웹사이트에서 확인해야 한다.
공식 연습 문제들은 아닌거 같지만 programmers school에서도 COS PRO 연습문제들을 제공한다. 개인적으로 연습하기 좋다고 생각한다. 구글에 "프로그래머스 스쿨 cos pro 모의고사"를 검색하면 쉽게 찾을 수 있다. 이 링크는 프로그래머스 스쿨에서 제공하는 COS PRO Python 1급 연습 문제집이다.
내가 위의 연습문제들을 모두 풀어보고 시험을 본 경험에서 말하자면, 개념적인 측면에서는 위의 연습 문제들이 충분하다 (알아야 하는건 연습 문제가 다 짚어준다). 실제 시험 문제들은 연습문제들 보다 조금 더 난이도가 있는 거 같지만, 합격 커트라인이 600/1000으로 매우 낮기 때문에 합격 자체는 쉬운 것 같다.
COS PRO Python을 추천하는 이유
코드의 런타임 속도가 중요한 경시대회에서는 C++같은 언어가 더 유리지만, 코딩 테스트는 대부분 언어에 따라 런타임 제한이 다르기 설정되기 때문에 Python을 쓰는 것이 더 유리하다.
COS PRO와 다른 모든 코딩 테스트에 내가 Python 사용을 추천하는 데는 3가지 이유가 있다.
첫째로, Python은 다른 언어에 비해 문법이 간단하다.
Python은 C++나 Java 같은 언어와 다르게 변수의 타입을 쓰지 않아도 되기 때문에 테스트 중에 코드를 타이핑하는데 쓰는 시간을 아낄 수 있다 (즉, 문제 풀이에 더 시간을 쓸 수 있다).
아래의 간단한 예시를 통해 Python 문법의 간결함을 느껴보자.
// C++
std::unordered_map<int, int> example_map;
if (example_map.find(1) == example_map.end()) {
example_map[1] = 42;
}
# Python
example_map = {}
if 1 not in example_map:
example_map[1] = 42
위의 두 코드는 C++와 Python으로 같은 것을 구현하지만 Python 코드가 훨씬 간단하다.
둘째로, Python은 규칙들은 다른 언어보다 더 느슨하다. 이 때문에 문제 풀이 방법이 더 간단해지기도 한다.
예를 들어 다음은 C++에서는 컴파일 에러를 일으키지만 Python에서는 허용되는 코드이다.
// C++
std::unordered_map<int, int> example_map;
example_map[1] = 42 // 허용됨
example_map[1] = "asdf" // 에러
example_map["asdf"] = "asdf" // 에러
example_map["asdf"] = 42 // 에러
# Python
example_map = {}
example_map[1] = 42 # 허용됨
example_map[1] = "asdf" # 허용됨
example_map["asdf"] = "asdf" # 허용됨
example_map["asdf"] = 42 # 허용됨
셋째로, Python의 type(), dir(), help() 같은 기능들을 사용하면 기억해하는 함수 이름들이 줄어든다.
C++ 나 Java 같은 언어는 시험 도중에 함수의 이름을 기억 못 하면 시험을 망칠 수도 있지만, Python은 type(), dir(), help()만 기억하면 대부분의 함수들을 시험장에서 바로 이름과 사용법을 찾아볼 수 있다.
예를 들어 시험 도중 만약 Python 리스트의 .append() 함수가 기억이 안 난다면, 다음과 같이 차아 볼 수 있다. 아래는 COS PRO 시험 환경과 비슷한 groom edu에서 실행시킨 코드이다.
type() 함수를 이용해서 변수의 타입을 알수 있다.
dir() 함수를 이용해서 한 객체의 소속된 멤버 함수들의 이름을 알 수 있다. 출력된 마지막 줄을 보면 append 함수도 보인다.
help() 함수를 이용하면 모든 멤버 함수들에 대한 설명들을 볼 수 있다.
help() 함수를 이용하면 특정한 멤버 함수에 대한 설명만도 볼 수 있다.
이상으로 COS PRO Python 후기와 팁을 마친다.
내 글이 COS PRO 시험을 준비하는데 도움이 되었길 바란다.
'군대' 카테고리의 다른 글
합격자가 알려주는 육군 SW 개발병 - 서류 준비 팁 (0) | 2022.08.26 |
---|---|
합격자가 알려주는 육군 SW 개발병 - 선발 기준 팁 (0) | 2022.08.26 |
영어어학병 - 육군 vs 공군 (0) | 2022.08.25 |
합격자가 알려주는 육군 SW 개발병 - 참고 자료 (0) | 2022.08.22 |
컴퓨터공학과 군대 보직 추천 (0) | 2022.08.22 |