취준

2023 상반기 한화시스템 ICT 신입사원 채용 코딩테스트 후기

조명인 2023. 4. 9. 03:21

평일 오후에 두 시간동안 코딩테스트를 응시했습니다. 코딩테스트를 거의 한달만에 치는 것이고 그동안 자바와 스프링 공부를 하느라 알고리즘 감이 떨어진 상태이겠거니 라는 생각에 걱정반 기대반의 마음으로 응시했습니다. 아니나 다를까 C++ 문법을 까먹어서 구현문제에 너무 많은 시간을 들였습니다. 하지만 2시간 6문제인만큼 엄청 어려운 문제는 나오지 않았기 때문에 좋은 연습이었다...라고 생각하기로 했습니다! 이전 코테 후기들에서 문제와 제가 푼 방식을 자세히 적었는데 조금은 추상적으로 적기로 하였습니다.

 

1. 시험 유형

  • 알고리즘 4문제, SQL 2문제
  • 2시간
  • 프로그래머스
  • IDE 사용 불가
  • 화면 공유, 웹캠, 폰으로 화상 감독

 

2. 문제들

  1. 그리디 + 투포인터 문제입니다. 정렬해보면 어떨까 ? 라는 생각을 하면 간단한 문제들은 잘 풀리는 것 같습니다.
  2. 백트래킹(조합) + 구현 문제입니다. 조합을 구하고, 문제의 조건에 따라 그룹으로 나누고, 그룹의 특성에 따라 점수를 구하고, 모든 조합을 탐색하도록 구현했습니다.
  3. 구현 + 구현 문제입니다. 문자열을 split으로 나누는 작업이 필요하였기에 파이썬으로 도전해보려 했지만 언어 미숙달 이슈가 있어 뒤늦게 c++로 구현했습니다. 스플릿 함수를 구현하는 것도 오랜만에 했기 때문에 시간을 많이 써먹었습니다. 특히 map 자료구조의 키 밸류를 잘못 설정하였고 그에 따른 에러가 나서 찾는데 한참 걸렸습니다. 결국 간단했던 문제였지만 40분정도나 사용해버렸고 마지막 문제를 간발의 차로(...) 풀지 못하였습니다. 이 문제를 풀면서 알고리즘 문제를 꾸준히 풀어야겠다는 다짐을 하였습니다.
  4. 재귀 + 구현 문제입니다. 각 재귀의 단계별로 어떤 문자를 넣어야 하는지 구하는 과정이 재미있었고 단계별로 모인 문자열을 어떻게 처리할지 생각하는 것도 재미있었습니다. 잘 풀었다면 정말 좋았겠지만 3번에서 너무나 많은 시간을 사용하였기 때문에 충분하지 못한 시간속에서 4개의 케이스 중 2개만 통과하는 코드를 제출하였습니다. 디버깅 시간이 5분만 더 주어졌다면 맞출 수 있었을텐데 하는 아쉬움이 있습니다.
  5. SQL 문제입니다. 정말 간단한 문제였습니다.
  6. SQL 문제입니다. 중복 제거와 서브쿼리, count를 사용하는 문제였던 것으로 기억합니다.

 

3. 후기

  • 오랜만에 코딩테스트 문제를 풀어보아서 기분이 좋았습니다.
  • 코테에는 빈출 유형이 있음을 또다시 느꼈습니다. 구현, 정렬, 백트래킹, map 등 문제들은 항상 나오는 것 같습니다.
  • 시간 배분을 잘 해야겠다는 다짐을 하였습니다. 만약 3번과 4번을 번갈아가며 풀었다면 모두 풀 수 있었을 것 같다는 생각이 들었습니다. 다음 코딩테스트부터는 항상 위 사항을 생각해야겠습니다.
  • 코딩테스트 감을 잃지 않아야겠다는 다짐도 하였습니다. 저는 c++ 문법을 까먹고, 간단한 실수를 반복하고, 풀이 방법과 사용할 자료구조를 명확히 하지 않았습니다. 이는 디버깅 시간이 늘어남을 뜻하고 이번 테스트처럼 풀이를 알지만 결국 미완성인 코드를 제출하는 불상사로 이어졌습니다. 앞으로 지속적인 연습으로 풀 수 있는 문제는 다 풀 수 있는 구현력을 기르기 위해 노력하기로 하였습니다.