본문 바로가기
일상

[프로그래머스][데브매칭] 2021 실리콘 밸리 데브매칭 후기

by ISA(류) 2021. 11. 21.

https://programmers.co.kr/competitions/1836

 

2021 Dev-Matching: Silicon Valley

접수   21년 11월 01일 11:00 ~ 11월 19일 17:00 테스트   21년 11월 21일 10:00 ~ 11월 21일 12:00

programmers.co.kr

코테는 통과

300점 만점 / 200점

3문제 1문제당 100점이였고 1번째 문제와 2번째 문제를 풀어서 각각 100점씩 도합 200점으로 마무리했다. 문제 난이도 수준은 프로그래머스 2~3레벨 수준으로 보였고, 1레벨 문제는 하나도 없었다. 그리고 4레벨 문제도 없었다. 진짜 안내한 내용대로 2~3레벨 풀 정도면 수월하게 풀 수준이였다. 다만 2레벨 문제를 모두 푼 입장에서 봤을때 중복 문제는 안나왔다. 연습용으로 제공 되는 문제랑 똑같은 문제를 내지는 않는 것 같다. 아니면 전부 3레벨 문제였다던가.

첫번째 문제의 경우

각 그래프(?)의 간선이 주어지고 그 지점들을 자르고 그 자른 간선들의 갯수를 카운트해서 반환 하는 문제였다.
처음에는 2차원 배열이나 그래프 구조를 만들어서 잘라야하나 조금 고민 하긴 했으나 굳이 그럴 필요는 없었다.
해당 영역을 격리하는 질의가 주어졌을때 격리 된 지점들의 좌표를 모두 구해서 간선리스트를 필터링하면서 해당 간선을 이루는 두 지점 중 한 곳이 격리되는 영역에 포함 되어 있고 다른 지점이 포함 되어있지 않다면 필터링하고 그 갯수를 카운팅하는 방식으로 문제를 풀었다. 격리 되는 지점의 경우 hash구조를 이용했는데, 효율성을 높일려면 굳이 지점들을 일일이 구할 필요 없이 규칙에 맞게 처리하면 되긴한다. 다만 그럴 경우 판별하는 코드가 어쩔 수 없이 조금 난잡해지는데 그게 싫어서 객체에 좌표를 일일이 구했다.

두번째 문제의 경우

정렬 문제 였다. 3가지 입력값 모두 하나의 데이터를 배열로 나눈 것이였는데, 해당 부분을 연결해서 문제에서 요구하는 조건에 맞게 정렬한후 그 정렬된 순서에 맞는 (처음 입력 된 idx) 식별키를 배열에 담아서 반환 하는 간단한 문제였다.
제일 쉬운 문제로 보인다. 다만 나는 그래프 위의 두 지점의 직선거리를 구하는 수학공식이 생각 나지 않아서 조금 고생했다.

세번째 문제의 경우

두 배열을 합해서 최소 진동폭?(각 배열의 요소의 제곱합)을 구하는 문제였다. 문제 자체는 그렇게 어렵지 않았다.
첫번째 배열과 두번째 배열의 길이가 다를 수 있으니 그 배열 길이를 맞추고 첫번째 배열의 요소를 한칸씩 이동 시키면서 그에 맞게 두번째 배열의 순서 역시 이동시켜서 2 배열이 가질 수 있는 모든 조합의 진동폭인가 뭔가를 구해서 반환하는 문제였다. 다만 정확 하지 않은점은 해당 문제를 풀기에는 개인적으로 컨디션이 안좋고, 시간이 부족해서 포기했다.

결론

이번 챌린지을 통해서 알게 된것은 어지간한 2~3레벨 문제를 푸는데는 문제가 없다는 점.
다만, 한문제를 푸는데 걸리는 시간을 줄일 필요가 있다는 점이다. 2문제를 풀고 나니 시간이 30분 정도 남아있었다.
또 해당 챌린지의 경우 실 문제 제출수나 정답수, 그리고 참가자수(대략 천백명), 순위를 실시간으로 피드백 해줬는데 1등의 경우 3문제 모두 푸는데 51분 정도 소요했다. 평균적으로 3문제 모두 푼 사람들의 경우 1시간 좌우로 시간을 쓰더라 물론 30분 남은 시점에서 3문제 다푼 사람은 다해봐야 20명도 안되었지만 개선점을 찾은게 좋았다.(다른 사람말로는 최종은 36명)

컨디션 관리에 신경써야 한다는 점이다. 이번 챌린지의 경우 아침 10시 ~ 점심 12시 까지 진행 되었는데 나 같은 경우 개인적인 문제로 오늘 새벽 5시에 자고 아침9시59분에 일어나서 세수를 하

고 바로 챌린지를 참가했다. 피곤하고 몽롱한 상태(속도 안좋았고)여서 문제 풀이에 시간을 더 쓴 점도 있을거다.

반응형

'일상' 카테고리의 다른 글

정리된 루틴을 만들자.  (0) 2021.12.21
어렵다.  (0) 2021.12.07
프로그래머스 2레벨 끝!  (0) 2021.11.15
알고리즘 풀이  (0) 2021.11.05
코로나 19 관련 작은 정리  (0) 2021.10.26