반응형

6월 10일에 삼성전자 S/W test B형 시험이 있었다.


이번 시험에서는 고배를 마셔야 했다.


문제 자체는 다음과 같았다.(저작권이 있기에 상세한 내용은 다루지 않으려 한다.)


우선적으로 라이브러리 제한이 적용된다.(c의 경우 stdio.h, c++의 경우 iostream 같이 기본 헤더만 제공한다.)


사실상 이 부분에 대해서는 아무 불평을 하면 안된다. 특수 알고리즘을 써야하는 내용이 1도 나오지 않았기에


기본 헤더만 준다해서 무슨 심각한 알고리즘까지 외워갈 필요는 없어보였다.



각설하고 다시 문제에 대해 이야기를 해보겠다.


main.cpp와 solution.cpp가 주어진다.


main.cpp에는 삼성이 제공하는 API(함수)와 각 변수들이 등록되어있다.


변수는 static int a[][] 혹은 static int a; 같이 배열 혹은 변수가 static으로 지정되어있었다.


그리고 API에 해당하는 함수들이 각각 존재했었다.


solution.cpp에서 우리가 해야할 일은 main.cpp에 있는 값들을 이용하여 사용자 API를 제작하는 것이었다.


물론 solution.cpp에 void b()가 있다면 main.cpp에서는 extern void b(); 를 이용하여 함수를 가져올 수 있지만


solution.cpp에서는 main에서 static으로 지정된 변수들을 가져올 수 없었다.


사용자 API를 만들 때 static로 걸려있는 변수들을 가져와야만 사용자 API를 제작 할 수 있다고 생각했기에 문제를 풀다가 extern 부분에서 헤매다가 결국 제출도 못해본 채 끝이났다.



S/W Test B형(소프트웨어 멤버십 3차)는 프로젝트 기반 알고리즘 문제였다.


우선적으로 프로젝트를 구성할 줄 알아야 문제가 진행이 되고 거기에서 최적화를 시키기위해 알고리즘을 써야하는 내용이었다.


프로젝트를 많이 해보지는 않았지만, 개인적으로 만들어 본 프로그램들이 많았기에 어색하지 않았는데 static에서 무너지고 나니 내 자신이 많이 부족하는 것을 느낄 수 있던 하루였다.



다음번에 다시 B형을 치는 기회가 온다면(A형을 이미 합격했다면 계속해서 탈락해도 B형부터 치게 되는 시스템이다.) 좀더 신중하게 생각해서 문제를 풀어봐야겠다는 생각이 많이 들었다.


문제 자체가 사실은 static을 가져오지 않고 풀 수 있던 문제였을수도 있기 때문에 한가지 편협한 생각속에서 문제를 풀지 않는 능력도 필요하다고 절실히 느낀 하루였다.













반응형