[일상] 알고리즘 잡스 수강 후기 -2 (+ 한국조폐공사 코딩테스트)

정말 오래간만에 공부다운 공부를 하고 있는 것 같다. 딱히 특정 기업에 취업하고 싶다기보다는 그냥 순수하게 알고리즘 자체를 잘하고 또 인정받고싶다. 아직 눈의 띄게 성장한 부분은 없다. 공부를 시작한 지 얼마 되지 않았기도 하고 나에게 알고리즘에 대한 절대적인 공부의 양이 부족하기 때문이다. 부족한 실력을 늘리기 위해 공부의 양을 늘렸다. 공부 시간을 늘릴 수밖에 없었던 것이 개인별로 7/11일 토요일까지 Lv7까지 진도를 나가는 것으로 예정이 되어 있었기에 어떻게든 따라갔어야 했다. 월요일 Lv4에 머물러 있었지만 화요일, 수요일을 활용하여 Lv6까지 먼저 예습을 해왔다. 이대로라면 토요일까지 Lv7까지 나가는 진도에 대한 걱정은 안 해도 될 것 같다.

 

알고리즘 잡스에서는 매주 목요일, 토요일마다 시험을 치는데 목요일은 지금까지 풀어왔었던 문제들 중 100점을 맞았던 문제들을 다시 풀어보는 테스트를 진행하고 매주 토요일은 1주일간 목표한 진도에서 나왔던 문제들 중 어려운 문제를 다시 푼다. 복습을 열심히 하라는 의미인 듯하다. 

 

알고리즘 잡스1

위와 같이 120분 동안 지금까지 풀었던 문제 4문제를 풀면 된다. 이렇게 테스트를 본다는 것을 미리 공지해왔기에 문제별로 풀이 방법과 코드를 거의 외워버렸다. 일부러 외운 것은 아니고 그냥 세네 번 다시 풀어보니까 자연스럽게 외워졌다. 그 덕분인지 이때의 시험은 잘 보았다. 이때의 목요일은 나에게 특별한 날이었기에 강사님에게 1시에 시험을 치고 오늘만 빨리 갈 수 있겠느냐고 물어보았다. 이유를 물어보시기에 이력서를 넣은 회사의 코딩 테스트를 보러 가야 한다고 하였고 흔쾌히 허락해주셔서 목요일은 조금 일찍 가게 되었다.

 

한국 조폐공사 코딩 테스트 준비

지금 바로 취업보다는 나의 능력을 높이고자 하였기에 취업포털사이트를 거의 들여다보지 않았지만 우연히 자소서 닷컴이라는 사이트에서 한국 조폐공사의 채용소식을 접하게 되었다. 비록 IT기업이 아니긴 하지만 평소에 공기업 중에서도 가장 좋다는 소문?을 자주 들었기에 친숙한 이름의 공기업이 채용을 하고 있다는 소식에 가지고 있던 이력서를 넣어보았고 운이 좋게도 서류에 합격을 하게 되어 감사하게도 코딩 테스트를 볼 수 있는 기회가 주어졌다.

 

코딩 테스트는 "프로그래머스"라는 곳에 대행을 맡겨 진행한 듯하였고 시험 전날 조폐공사 측에서 안내 메일을 보내왔다. 시험 방식은 구글링 금지, 어떤 참고자료 없이 나의 힘으로 2시간 동안 4문제를 푸는 것이었다. 온라인으로 치는 시험이었지만 노트북 웹캠, 핸드폰 카메라로 나의 모습을 찍고 있고 컴퓨터 화면이 그대로 전송되고 있어 부정행위는 원천적으로 불가능했다. 공기업에서 처음으로 치르는 코딩 테스트라 정보가 전혀 없어서 어떤 식으로 나올지 전혀 예측이 가지 않았다. 본격적인 테스트는 목요일 오후 7시에 있었고 6시까지는 모의시험을 볼 수 있었다. 모의시험에는 굉장히 쉬운 문제가 나왔다.

 

문제는 2문제였는데 Sql문제(단순 정렬)와 아래 링크된 문제 2개가 나왔다.

https://easy-h.tistory.com/8

 

비록 본 테스트가 아닌 모의 테스트였지만 난이도가 굉장히 쉬웠기에 유명 사기업들에 비해 난이도가 굉장히 쉽게 나올 것이라는 희망을 품었다.

조폐공사

사실 그렇게 생각할 수 있었던 게 1차전형에서 선발인원이 채용예정인원의 10 배수였다. 이미 서류에서 엄청 걸렀는데 코딩 테스트에서 마저 대부분 낙방시킨다면 제대로 된 면접이 불가능할 것이라 생각했다. 

 

한국 조폐공사 코딩 테스트 후기

하지만 그것은 나의 착각이었다. 실제 본 테스트에서는 테스트 예제와는 비교할 수 없을 정도로 어려운 문제들이 나왔다. 문제가 너무 길어 멀미와 현기증으로 헛구역질이 나올뻔했다. 설상가상으로 난독증마저 걸렸는지 눈에 잘 들어오지 않았다. 문제 유출 방지 서약을 했기에 문제를 정확히 알려드릴 순 없지만 대충 아래와 같이 문제가 나왔다.

 

1번 문제 : 문자열, 조건별 점수 계산, 정렬 혼합 문제

2번 문제 : 트리의 중위 운행법 응용문제

3번 문제 : 경우의 수 문제

4번 문제 : SQL문제

 

이렇게 나왔다. 우선 SQL문제부터 풀었다. SQL문제는 서브 쿼리를 사용하거나 With 절을 사용하면 해결할 수 있는 문제였는데 나는 With절을 사용해서 그것을 Join 하는 방식으로 문제를 풀었다. 구글링과 자동완성이 없어 쌩 코딩을 했어야 했는데 문법오류가 몇번 나서 정말 식겁했다. SQL문제를 푼 뒤 Java 알고리즘 문제들을 봤는데 1번 2번 3번 순으로 난이도가 올라가는 듯하였다. 제일 쉬운 1번부터 달려들었다. 1번 문제는 어렵지는 않는데 조금 지저분한 문제랄까.... 이것저것 뭐가 많았다. 짧은시간이지만 1주일동안 알고리즘 잡스에서 여러번 문제를 풀어봤기에 망정이지 아니었으면 정말 1번도 못풀뻔했다. 어떻게 1번문제 꾸역꾸역 풀긴 했는데 여기서만 1시간을 넘게 소모했고 1번을 푸니 시간이 30분밖에 남지 않았다. 2번 문제는 트리의 중위 운행법 자체를 구현해본 적이 없기에 풀지 못한다 생각하여 남은 시간 동안 경우의 수 문제만 풀었다. 하지만 시간이 부족하여 정확한 알고리즘을 구현하지 못하였고 시험이 종료되었다.

 

조폐공사 테스트

결과가 다음날 바로 나왔다. 결과는 아쉽게도 3점 차이로 60점을 넘지 못하여 탈락하였다. 매우 아쉬웠다. 문제가 쉬웠던 사람도 분명 있겠지만 현재 나의 수준에서 봤을 때 문제가 많이 어려웠다.

 

문제 갯수

투표를 안 한 사람들이 훨씬 더 많아서 정확하지는 않지만 같이 코딩 테스트를 준비했던 카카오톡 오픈 채팅방에서는 1명 빼고는 탈락한 듯하다. "나만 시험이 어려웠던 것이 아니었구나" 라는 위안을 느끼면서도 한편으로는 걱정이 앞선다. 합격하신 분은 삼성 소프트웨어 아카데미에서 1년간 알고리즘을 열심히 공부하셨다고 하시던데 단톡방에 참가하고 있는 사람들의 부러움을 한몸에 받았다. 나도 오랜기간 알고리즘을 배우면 저렇게 잘할 수 있을까?

 

결국 코딩테스트로 너무 많은 사람이 떨어져 채용인원이 미달되었다고 한다. 사실상 코딩테스트만 붙었으면 최종합격이었다는 소리인데 너무 안타깝다. ㅠㅠㅠ

 

운이 없었다기보다는 내 실력이 부족하였음을 인정한다. 덕분에 내 실력이 많이 모자라고 더 많이 노력해야한다는 것을 다시한번 명확히 알게 되었다. 좋은 경험이었다고 생각하려 한다. 오늘의 경험이 앞으로 알고리즘을 공부하는 데 있어서 강력한 동기부여가 될 것 같다. 

 

 

-추가 (2020. 10월)

하반기 재도전을 했다. 상반기에 비해 난이도가 훨씬 쉬워졌다. 상반기 코테로 채용이 미달되어 난이도 조절을 한듯 하다.

 

테스트 결과

나는 1문제를 틀렸긴했지만 일단 코테에 합격하기는 했다. 문제가 쉽게 나와서 탈락할줄 알았는데 운이 좋았던것 같다.

댓글

Designed by JB FACTORY