PS/My Diary (PS, 대회후기)

[210909] 프로그래머스 월간 코드 챌린지 시즌3 9월 후기

kth990303 2021. 9. 10. 01:35
반응형

프로그래머스에선 1년에 두번 꼴로 코드 챌린지가 개최된다.

이번 챌린지는 평일에 실시되긴 하지만, 다행히 개인정비시간 때 실시되기 때문에 응시를 할 수 있었다.

https://programmers.co.kr/competitions/1581?slug=monthly-code-challenge-s3 

 

JetBrains x 프로그래머스 월간 코드 챌린지 시즌3

접수   21년 08월 23일 11:00 ~ 10월 07일 18:00 테스트   21년 09월 09일 19:30 ~ 10월 07일 22:30

programmers.co.kr

 

시즌3 10월 후기 포스팅은 아래 주소에서 볼 수 있다.

https://kth990303.tistory.com/165

 

[211007] 프로그래머스 월간 코드 챌린지 시즌3 10월 후기

이번 달에도 어김없이 프로그래머스에서 주최하는 월간 코드 챌린지가 열렸다. 오늘은 어떤 문제가 나올지, 그리고 이번엔 어떤 성적을 얻을지 기대하면서 응시해보았다. https://programmers.co.kr/com

kth990303.tistory.com


나는 제트브레인 학생 라이센스가 이미 있어서 이것보다는 기념품세트나 프로그래머스 굿즈가 너무 가지고 싶었다.

그렇지만 뭐, 그건 받으면 좋고 안받아도 그만인거라 큰 기대는 하지 않는다.

 

그냥 이번에는 상품을 노리고 참여한다기보단, 지난번보다 내 실력이 좀 더 괜찮아졌는지, 어떤 재밌는 문제가 나왔는지 재미삼아 응시해보았다.

이번 목표는 2~3솔이었는데, 3번이 시간복잡도 상으로 적절한 풀이가 아예 떠오르지 않았다. 그래서 그냥 부분점수 긁했는데 너무 박하다 ㅠㅠ 4.2점...

3번을 정확하게 solve한 사람도 50명 내외인 것으로 보아 상당히 어려운 문제인 것 같다.

 

이번 챌린지 All Solved는 19명으로, 지난 챌린지보다 더 많은 인원을 기록하였으나,

2번과 3번 문제가 (개인적으로) 지난 번 챌린지보다 꽤나 어려웠기 때문에 정답률이 폭락한 것을 볼 수 있었다.

2문제 이상 Solve한 사람이 아마 400명 정도였던 것으로 기억한다.

 

만점자(400점): 19명

300점 이상: 50명

200점 이상: 415명

월간 코드챌린지 시즌2 4월은 1600명대, 시즌2 5월은 700명대였던 것에 비하면 상당히 적은 인원임을 알 수 있다. 

 

특히, 시즌2 5월의 전체응시자 수는 1500명대, 시즌3 9월의 전체응시자수는 1900명대로 더 많은 인원이 응시했음에도 불구하고, 200점 이상 인원 수가 700명대 -> 415명으로 줄어든걸 보면 현 기조대로라면 미션달성 인원 수가 상대적으로 줄지 않을까 예상된다.


+) 21.09.13 추가

해설은 아래 링크에서 볼 수 있다.

https://prgms.tistory.com/101?category=882795 

 

월간 코드 챌린지 시즌3 9월 해설

코딩이 재미있는 사람들을 위한 챌린지! 프로그래머스에서 2021년 9월 9일, 10월 7일 두 번에 걸쳐 월간 코드 챌린지 시즌3가 진행 중 입니다. 2021년 9월 9일 19시 30분부터 22시 30분까지 진행된 시즌2

prgms.tistory.com

3번 문제가 이분탐색으로 푸는 게 맞았다는 점에서 기분이 좋았으나,

어차피 결정 문제이기 때문에 두 개의 변수가 있다 하더라도, for문으로 돌릴 필요 없이 x+y=k (k는 일정) 을 이용하면 되는 문제라는 걸 파악하지 못한 점이 좀 아쉽다. 그래도 이런 작은 경험이 쌓여가면서 나중에 대회에서 좋은 성적을 거둘 수 있는 밑거름이 되지 않을까 싶어 만족스럽다 :)

 

https://kth990303.tistory.com/137

 

[프로그래머스] 금과 은 운반하기 (LEVEL 3)

월간 코드 챌린지 시즌3 9월 3번으로 출제된 문제이다. 처음엔 4.2점, 다음엔 12.5점, 20.8점을 얻고 한참 고민하여 만점을 받아 풀이를 작성해본다. https://programmers.co.kr/learn/courses/30/lessons/86053..

kth990303.tistory.com


다시 원래 (21.09.09) 작성글

 

*프로그래머스 정책에 따라 이번 챌린지 포스팅에서는 지문, 풀이 코드, 테스트케이스 공유를 하지 않는다.*

 

대신 간단하게 난이도 및 느낀점을 포스팅해보려 한다.


1번은... 지난 챌린지보다도 훨씬 더 쉽게 나왔다.

1번만큼은 꼭 풀어주세요~ 하고 낸 것이 분명하다. 월간 코드 챌린지에 관심을 가지고 응시한 사람이라면 아마 1번은 누구나 해결했을 것이다. 웬만해선 내가 누구나 풀었을것~ 쉬웠다~ 이런 표현을 거의 안하는데, 이 문제는 진짜 쉽다.

 

2번은 개인적으로 지난번 챌린지보다도 꽤나 어려웠다.

지문을 어디까지 언급해도 괜찮을지 잘 모르겠는데, 일단 백트래킹은 무조건 시간초과가 난다. 그렇기 때문에 dfs로 적절히 잘 처리하면 되는데, 이차원 배열을 쓰면 안되고 삼차원배열을 써야 한다. (아마 bfs도 될 것이다)

 

그리고 이 문제에서 내가 저지른 뇌절 포인트! 사이클의 개수가 무슨 의미인지 이해가 안돼서 한참 고민했다. 사이클 개수는 다 다르거나, 다 똑같은 거 아닌가? 방향에 따라 다 다르게 하는건가? 근데 그럼 예제2랑 예제 3이랑 결과가 서로 안맞지 않나? 이런 고민을 30분간 엄청 했다. 지금 생각하면 진짜 빡대가리 같다.

알고보니 방향까지 고려하는 말 그대로의 의미였고, 이러려면 전체 격자를 훑는 브루트포스 외엔 방법이 없는데 그렇다기엔 시간복잡도가 조금 애매했는데 설마 이 시간복잡도가 통과할까 싶은게 통과됐다. 1초를 넘어도 2초까진 괜찮나보다. 프로그래머스 문제에서 시간제한이 몇 초인지, 그리고 질문창을 표시해주었으면 좋을텐데...

 

3번을 좀 고민하다가 대충 부분점수 긁고 테스트 종료했다.

3번은 일단 W가 최대 100인 것에 주목했는데, O(NW)에다가 time에 따른 이분탐색으로 O(NWlgT)로 대충 처리했더니 부분점수 4.2점을 받았다. 이 정도 풀이는 써도 되려나, 모르겠네...

아마 내일 쯤 정해가 나올텐데, 그 정해를 한번 살펴봐야겠다.

설마 다 까먹은 flow 문제가 아니길 빈다. (계속 생각해봤는데 flow 문제는 아닌 것 같다. 음.. 아닌가? 모르겠다)

+) 이분탐색 문제가 맞았다. 아래에 해설 및 부분점수를 받는 이유를 작성했다.

https://kth990303.tistory.com/137

 

[프로그래머스] 금과 은 운반하기 (LEVEL 3)

월간 코드 챌린지 시즌3 9월 3번으로 출제된 문제이다. 처음엔 4.2점, 다음엔 12.5점, 20.8점을 얻고 한참 고민하여 만점을 받아 풀이를 작성해본다. https://programmers.co.kr/learn/courses/30/lessons/86053..

kth990303.tistory.com

 

4번은 아예 보지도 않았다. 어차피 solve하진 못할 것 같았고, 부분점수를 받으나 안받으나 2솔인 건 똑같기 때문.


난이도가 어느 정도로 표기돼서 공개될지 궁금하다.

그동안 챌린지 2번 난이도는 Level 2정도였는데, 내 생각엔 이번 챌린지의 2번은 프로그래머스 Level 3 정도로 나와도 괜찮을 난이도라 생각한다.

 

이 기념품 세트... 너무 받고 싶다.

굿즈같은 게 하나도 없는 나에겐, 컴공 관련 티셔츠나 굿즈를 받는 것이 소원이다.

20년에 컴공 외부활동이나 세미나 많이 참여하려고 KCD 2020도 신청해놨는데, 코로롱때문에 세미나가 취소됐었지...

키보드는 바라지도 않고, 프로그래머스 굿즈 Kit 너무 받고 싶다.

안된다면 해피콘이라도..

 

일단 이번 9월 등수가 100등권이어서 지난 챌린지보다는 결과가 좋기 때문에 낫배드이긴 하지만,

3솔이 목표였기 때문에 한편으론 아쉽기도 하다.

 

시즌3, 4, 5, ... 계속 꾸준히 참여해보자!

반응형