프로그래머스 2차 문제집(모의고사) 후기

2022. 8. 10. 14:46알고리즘

알고리즘 문제 풀이는 보통 백준에서 하는 편이라
프로그래머스에서 시행하는 모의고사를 이번에 처음 응시했다. 

https://career.programmers.co.kr/competitions/2627?itm_source_s=prgms&itm_medium_s=banner&itm_campaign_s=competition2627

 

코딩테스트 실전 대비 모의고사

 

career.programmers.co.kr

 

진행 일정

  • 모의고사는 3회에 걸쳐 공개됩니다. 모의고사에는 문제가 3개 ~ 4개 들어있습니다. 모든 모의고사는 2022년 08년 23일까지 응시할 수 있습니다.
1차 문제집 공개 2022.07.13. 10:00 2022.08.23. 23:59 180분
2차 문제집 공개 2022.07.27. 14:00 2022.08.23. 23:59 180분
3차 문제집 공개 2022.08.10. 14:00 2022.08.23. 23:59 180분

 

2차 문제집을 풀었고 약 90분 정도 소요했다. 
내 체감상 백준 실버 1~ 골드 5 난이도였다.

첫번째 문제는 조합으로 해결이 가능하다. 근데 N의 길이가   3<= N <=13 이라 완전 탐색으로도 해결할 수 있다.. 

두번째 문제는 첫 제출에서 시간초과가 발생했고, 투포인터로 해결했다. 
배열을 두개 생성한 뒤, 각각에 왼쪽 & 오른쪽부터 맛의 개수 누적합을 저장한다. 

예를들어 토핑이 {1, 2, 1, 3, 1, 4 ,1, 2} 라면
leftSum = {1, 2, 2, 3, 3, 4, 4, 4} 
rightSum = {4, 4, 4, 4, 3, 3, 2, 1}

이후 leftSum[i] == rightSum[i+1] 인 경우 answer++ 하면 된다.
위의 예제에서는 leftSum[3] == rightSum[4],  leftSum[4] == rightSum[5]로 두가지 경우가 존재한다.


마지막 문제는 다익스트라를 공부했다면 쉽게 해결이 가능한 문제였다. 

나중에 3차 문제집도 풀어봐야겠다..