서론
프로그래머스에서 데브매칭이라는 타이틀로 코테가 열리는데, 이미 다니고 있는 회사가 있기에 마음 편하게 응시해보았다.
정기적으로 응시하진 않았으나 간혹 실력 검증삼아 응시하곤 했었다.
지난 데브매칭에선 4문제 중 2솔이었나.. 맛만 보고 나왔던 것으로 기억한다.
응시
입사후 회사에 다니면서 삼성전자 SW 알고리즘 특강을 들었었는데 이 덕분에 따로 코테를 준비하거나 하진 않았다.
정말 기본 실력만 믿고 응시하게 되었다.
참 좋았던게 2시간이라는 짧은 시간이었고 4문제라는 적당한 문제 갯수였다.
또한 검색이 가능했기에 마음 편히 응시할 수 있었다.
이번엔 모두 Python으로 응시를 해보았다.
SQL 1문제와 알고리즘 3문제가 나왔는데, 알고리즘보단 SQL에 자신이 있어서 항상 SQL 문제를 먼저 본다.
4번 SQL
(17분 소요)
이 문제는 ORDER BY, GROUP BY, SUM, IF, IFNULL을 이용해 쉽게 풀 수 있었다.
IFNULL과 IF가 헷갈려서 구글링을 통해 document를 읽고 응용해 풀었다.
이 문제와는 별개로 요새 트렌드인지는 모르겠으나 단순 서브쿼리를 이용한 문제보다 함수를 알고 있어야 풀 수 있는 문제가 많이 출제되는 것 같다.
2번 구현
(24분 소요)
1번부터 3번까지 보다가 가장 쉬워보여서 2번부터 풀게 되었다.
이미 삼성전자 SW 알고특강에서 시뮬레이션 구현은 지독하게 봐왔기 때문에 오히려 이런 단순 구현문제는 풀기 편했다.
필요한 함수와 로직을 먼저 설계하는데 시간을 썼고, 실제 구현하는 시간은 오래 걸리지 않았다.이후 디버깅을 5분정도 소요해서 빠르게 끝낼 수 있었다.
3번 구현
(31분 소요)
2번 다음으로 쉬워보였다.
일단 러프하게 구현하고 시간이 남으면 리팩토링 하는 전략을 세웠고,
이 전략이 통했던 것 같다. 물론 시간이 빠듯해서 리팩토링까진 못했으나 정답까지 한 큐에 성공할 수 있었다.
Permutation, Combination 함수를 만들듯이 DFS 함수를 구현했고 별다른 기능 구현 없이 풀 수 있었다.
1번 구현
(38분 소요)
가장 시간이 오래걸렸고, 여기서 실수라도 했다면 All solved는 못했을 것이다...
가장 기억에 남는 문제인데, 문제 유형이 애드혹 문제이다.
이 문제만을 위한 풀이를 도출해야 했는데 입력되는 최댓값을 보고 러프하게 구현해도 충분히 Time out 없이 풀 수 있겠다고 생각했고,
그대로 코드로 옮겼다. 물론 코드는 더러웠지만... 풀긴 풀었다.
시험 종료후 유독 이 문제를 유심히 살펴봤는데 이후에 50줄짜리 코드를 15줄로 리팩토링 할 수 있었다.
"와 이렇게도 풀 수 있었구나"하면서 재미를 느꼈다.
총평
시간 내 4문제 모두 풀 수 있었다.
문제 난이도는 내가 다 풀었던 것 보면 쉬웠던 것 같다. (왜냐면 난 코테 광탈 전문이기 때문이다 ^_^)
기업마다 다르겠지만 꽤나 이름 있는 기업 토스, 당근마켓 등은 4솔이 아니면 이력서도 안읽어줬다는 얘기가 있는데
이건 뭐.. 모르겠다.
아마 내부에서도 문제 점수에 대한 기준이 있을 것이고 많은 지원자를 필터링 하기 위해서 어쩔 수 없는 단계라고 생각한다.
'후기 > 코딩테스트' 카테고리의 다른 글
2022 KAKAO BLIND RECRUITMENT 1차 후기 (0) | 2021.09.12 |
---|---|
2021 Delivery Hero Korea 요기요 코딩테스트 후기 (0) | 2021.06.27 |
인프런 지식공유자로 활동하고 있으며 MSA 전환이 취미입니다. 개발과 관련된 다양한 정보를 몰입감있게 전달합니다.