오늘 카카오 인턴쉽 코딩테스트가 있었다.
각설하고 이번 코딩테스트 문제들을 살펴보고 이를 통해 느낀 점을 정리해보자.
1번 문제)
1번 문제는 문자와 숫자가 섞인 문자열을 파싱해서 숫자들로 바꾸는 문제였다.
해당 문제는 다양한 방식으로 접근이 가능했는데,
정규식을 활용할 수도 있었고, 그냥 조건문으로 해결할 수도 있는 쉬운 문제였다.
나는 조건문으로 해결했는데,
이런 문제 유형에 익숙하지 않아서 지나치게 시간을 많이 쏟은 것 같다.
이런 문제는 20분 안으로 해결해야 하는데...더 빨리 해결하지 못한 것이 아쉽다.
2번 문제)
2번 문제는 거리두기가 잘 지켜지고 있는 지 확인하는 알고리즘 문제였다.
맨허튼 거리가 2 초과로 사람들을 유지해야 하고
칸막이 설치등의 조건이 있었는데,
브루트포스 알고리즘으로 해결할 수 있게 케이스가 제한되어 있었다.
나는 완전 부르트포스로 풀지는 않았고 맨허튼 거리가 2초과 유지였기 때문에, 2단 재귀함수로 풀었다.
이 문제는 1시간 정도 걸렸던 것 같다.
3번 문제)
이 문제가 개인적으로는 너무 아쉬웠다.
문제를 딱 보자마자 set이나 map을 이용해서 heap 으로 풀면되겠다 싶어서 map으로 구현해서 풀었다.
테스트 케이스는 다 들어 맞아서 4번으로 넘어가려고 하는데, 결과는 다 틀린 것으로 나왔다.
뭐가 문제일까 한참을 고민하다가 다시 vector로 문제를 해결했는데, 아무래도 vector가 더 시간복잡도가 더 클 것인데도 일단 효율성문제는 차치하고 해결자체가 안되니깐 vector로 진행했다.
그런데도 해결이 안됐다. 그렇게 2시간을 허송세월 문제가 뭔지도 모른 채 시간을 보내고 있었다.
그러다 마감 5분 전.....
무엇이 문제인지 알게 되었다.
바로 D X, U X 에서 X를 무조건 일의 자리라고 간주하고 문제를 푼 것이다.
그런데 X의 범위는 아마도 1~500000? 이었다. 이런..이런... 이 부분만 해결했어도 쉽게 풀렸을 문제인데 너무 아쉽다.
이와 같은 상황에서는 atoi가 적절하다는 것도 알았는데, 5분은 수정하기에 너무 늦은 시간이었다.
애초에... 채점도 오래걸리는 문제였기 때문에..fail...
int atoi (const char * str)
헤더파일(C) : <stdlib.h>
헤더파일(CPP) : <cstdlib>
설명 : C style의 문자열을 입력받아서 int (숫자) 타입으로 변환하여 리턴한다.
4번 문제)
다익스트라 문제의 응용이었는데,
시간만 있으면 풀이 가능한 알고리즘 문제였으나,
3번 문제에서 시간을 너무 끄는 바람에 시도조차 못하였다.
개인적으로는 너무 아쉽다.
5번 문제)
??
느낀 점! |
현실적인 목표를 잡을 수 있게 되었다.
이번 코테에서는 2솔 밖에 못한 처참한 결과이지만,
4솔까지는 가능한 문제들이었다.
그리고 3.5~4 솔 정도면 코딩테스트는 통과하는 경우가 대다수이다.
물론 최종 목표는 더 높게 잡아야겠지만,
단기적인 목표는 4솔 정도로 잡고 공부하면 안정적일 것 같다.
그를 위해서는 이번 여름에 초급반을 다시 한 번 듣는 것도 방법이라고 생각했다.
솔직히 4솔까지의 문제들은 초급반에서 다 다루는 수준이다.
대신 초급반에서 제공하는 응용문제를 많이 풀어야겠다는 생각을 했다.
백준만 풀어서는 안 된다.
그동안 프로그래머스 문제는 아예 안 보고 백준으로만 문제 풀이를 했는데, 이게 코딩 테스트에서는 좀 독이 될 수 있겠다는 생각을 했다.
백준에서는 당연히 cin으로 받고 해결할 문제들을 일단 vector로 건네주니깐 이 입력값들을 정확하게 정리하는 방식은 익혀야겠다.
그리고 보통 ide의 자동완성기능을 쓰다보니깐,
메소드들을 정확히 사용하지 못하는 일도 있었다.
결론은 프로그래머스도 많이 풀어보자!
통학하면, 이동 시간에 프로그래머스를 진행해도 되겠다 싶었다.
(그럼에도 백준에서 문제 풀이를 하며 알고리즘을 많이 익히는 것도 중요하다.)
컨디션 조절이나 체력 관리도 필요하다 4~5시간 동안 진행하는 코딩테스트이기 때문에, 컨디션조절을 잘하고 시험봐야겠다는 생각을 했다.
오늘도 진행하고서 일단 쓰러져서 뻗어버렸다.
할만하다!
이번 겨울 인턴 코테는 충분히 해볼만 하다는 생각을 했다.
작성자 링커리어
신고글 [카카오] 2021 채용연계형 인턴십 for Tech Developers 코딩테스트 후기
- 욕설/비하 발언
- 음란성
- 홍보성 콘텐츠 및 도배글
- 개인정보 노출
- 특정인 비방
- 기타
허위 신고의 경우 서비스 이용제한과 같은
불이익을 받으실 수 있습니다.