COS Pro 1급(C++) 후기와 팁

CaChiJ·2021년 5월 17일
3

후기

목록 보기
2/3

출처 - YBM IT 홈페이지 > COS Pro > COS Pro 소개, https://www.ybmit.com/cos_pro/cos_pro_info.jsp

👀 COS Pro ?

COS Pro(Coding Specialist Professional) 는 YBM IT에서 시행하는 프로그래밍 자격 시험이다. 3가지 유형으로 이루어진 문제 10개를 90분간 풀어야 한다. 필자는 PS에 자주 사용하던 C++로 응시했다. 하루밖에 준비를 못해서 불안하기도 했지만 운좋게도 만점을 받을 수 있었다.

만점도 받은 김에 후기와 팁을 남겨보려고 한다. 물론 엄청난 것은 아니지만 COS Pro 준비를 시작하는 분들께 도움이 되었으면 한다.


✍ 간단한 후기

코드의 흐름 파악 능력을 시험하는 문제가 많았다. 문제는 다음의 세가지 유형으로 이루어진다.

  • 빈 칸 채우기
  • 한 줄 바꾸기
  • 함수 작성

처음엔 빈 칸 채우기 한 문제를 풀 때도 10분 정도가 걸렸는데 요령이 생긴 뒤로는 길어도 5분이면 풀 수 있었다. 물론 코드를 읽는 훈련을 꾸준히 해왔기에 가능한 일이었다.

함수 작성 문제는 알맞은 답을 찾아내는 코드를 작성하는 문제이다. 난이도는 Solved.ac 기준 실버 티어 정도다. BFS와 스택/큐 자료 구조가 자주 나온다. 여러 문제를 풀면서 동일한 로직이 반복됨을 느꼈다. 대표적으로 격자 위에서 4방향 또는 8방향으로 BFS를 진행하는 문제가 있다. 물론 시험에서는 세부 내용이 많이 달라지긴 했지만 큰 흐름과 주요 라이브러리들을 익혀둠으로써 빠르게 해결할 수 있었다.

'Coding Specialist Professional'이라는 무시무시한 이름과는 다르게 프로그래밍 능력의 기초가 얼마나 탄탄한지 확인하는 시험 같았다. 합불 여부를 떠나서 자신의 기초 능력을 점검할 수 있었다는 점에서 만족한다.


✨ 약간의 팁

다시 말하지만 그리 대단한 팁은 아니다. 준비하다보면 누구나 자연스레 알게 되는 것들이다.

  1. 빈 칸 채우기 - 반환형
  2. 빈 칸 채우기 - 상속
  3. 함수 작성 - 손에 익히기

1. 빈 칸 채우기 - 반환형

빈칸 채우기 문제에서 가장 중요한 부분은 적절한 위치에 적절한 함수를 호출하는 것이다. 이때 함수의 반환형을 주의 깊게 살펴보길 바란다. 예를 들어 다음의 세가지 함수가 있다고 하자.

int func_a(vector<int> arr);
vector<int> func_b(vector<int> arr);
bool func_c(int number);

그리고 아래처럼 빈 칸(@로 표시)이 주어졌다.

if(func_@(@)) {
    vector<int> left = func_@(@);
}

함수의 몸체를 모르지만 반환형을 통해 빈 칸을 c와 b로 특정할 수 있다. 스도쿠를 맞출 때 맞춰진 칸이 많을 수록 다른 칸도 맞추기 쉬워졌던 경험이 있을 것이다. 이 방법으로 빈 칸 1~2개를 채우고 나면 훨씬 쉽게 문제를 풀 수 있다.
(파이썬은...... 유감이다...)

2. 빈 칸 채우기 - 상속

사실 팁이랄 것도 없다. 상속에 대한 문제가 꼭 하나씩 나오는데, 상속을 명시하는 부분을 채워 넣고 새로운 멤버 함수를 정의하는 게 끝이다. 다만 기반 클래스 생성자 호출, 참조에 의한 전달 등 실수하기 쉬운 부분이 있으니 기출을 통해 유형을 익혀두자.

3. 함수 작성 - 손에 익히기

위에서 말했듯이 함수 작성 유형에는 비슷한 문제가 자주 출제된다. 관련 라이브러리의 레퍼런스를 통해 자주 사용하는 함수를 기억해두길 바란다. 특히 BFS 구현 방법과 큐/스택은 꼭 기억해 두자. 문제를 풀어본 경험이 적다면 당연히 여러번 작성해보며 손에 익혀야 한다.


📗 마치며

열심히 노력하면 돈과 명예는 자연히 따라온다는 글귀를 어디선가 본 적이 있다. 필자는 실력과 자격증의 관계도 이와 다르지 않다고 생각한다. 편법들에 의지하기보다 자신의 능력을 키우고 시험하기 위한 과정이 되어야 한다. 이 글을 읽는 모든 분이 원하는 것을 얻길 바라며 이만 마치겠다.

2개의 댓글

comment-user-thumbnail
2021년 7월 15일

궁금한 점이 있어 덧글 남깁니다. 혹시 문제를 풀 때 따로 필기가 가능한 용지를 받을까요?

1개의 답글