최근 개발자 취업이 인기를 끌면서 개발자 취업을 준비하는 사람들이 많아졌다. 또한 대부분의 IT기업에서는 채용 프로세스로 코딩테스트를 진행하고 있기 때문에 개발자 취업을 위해 코딩테스트 준비는 필수적이다. 따라서 알고리즘 문제 추천 솔루션을 개발하여 사용자 수준에 맞게 코딩테스트에 나올만한 알고리즘 문제들을 추천해주고자 한다. 본 프로젝트를 통해 사용자들은 코딩테스트를 효율적으로 대비할 수 있으며, 효과적인 알고리즘 학습 방향을 제공받을 수 있을 것이다.
- 전체 과정
백준 사이트에서 사용자 아이디가 존재하는지 확인하여 존재하는 아이디일 경우 사용자의 학습 시퀀스 데이터를 크롤링해온다. 그 후 그 데이터를 가지고 학습 레포트 생성 및 추천할 문제 추출 작업을 하여 나온 결과를 사용자에게 보여준다. 사용자의 첫 사용 후 다음 사용부터는 학습 시퀀스가 업데이트되었는지를 확인하여 업데이트되었을 경우에는 이후 데이터를 크롤링한 후 학습 시퀀스 및 추천 문제 추출 작업을 다시 수행하고, 업데이트가 되지 않았을 경우에는 저장되어 있는 학습 레포트 및 추천 문제를 사용자에게 보여준다.- 사용자 학습 시퀀스 기반 문제 추천
사용자 학습 시퀀스와 사용자가 풀지 않은 문제 리스트를 추천 모델에 돌려 각 문제에 대한 예측 점수를 구한다. 그 후 예측 점수가 높은 순으로 정렬 후 점수대 별로 맞힌 사람의 수가 많은 순으로 정렬한다. 정렬된 문제 리스트에서 상위 10문제를 추출하여 사용자에게 보여준다.- 주요 알고리즘 문제 추천
주요 알고리즘 유형 13개(구현, 자료구조, 그리디, 브루트포스, 정렬, 이분탐색, 너비우선탐색, 깊이우선탐색, 해시를 사용한 집합과 맵, 우선순위 큐, 다이나믹 프로그래밍, 다익스트라, 문자열)에 대해 유형 별 사용자가 푼 문제들의 평균 레벨과 풀지 않은 문제들을 구한다. 그 후 유형 별로 사용자가 풀지 않은 문제 리스트에서 사용자의 유형 평균 레벨의 –2에서 +2레벨에 해당하는 문제들을 추출한 후 맞힌 사람이 가장 많은 문제를 추출한 후 사용자에게 보여준다.- 학습 레포트
사용자가 최근 푼 100문제에 대해서 가장 많이 푼 알고리즘 유형 10개를 구한다. 그 후 해당 유형 별 사용자가 푼 문제의 레벨 별 개수를 구하여 막대그래프 형태로 사용자에게 보여준다.







