Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

User가 Contest에서 Problem을 풀었을 때, ContestProblem에 점수를 배정하고, Contest에서 AC 개수에 따른 점수 계산하는 feature. #1238

Closed
3 tasks done
gyunseo opened this issue Jan 22, 2024 · 1 comment · Fixed by #1643 · May be fixed by #1255
Assignees

Comments

@gyunseo
Copy link
Contributor

gyunseo commented Jan 22, 2024

Describe the problem and solution

Contest에 있는 문제들을 필요한 것으로 보입니다.
현재 하기 이미지처럼 ContestProblem 테이블이 정의되어 있습니다.
image
여기서 score field가 의미하는 것이 만점의 상대적인 비율이라고 알고 있습니다.
예를 들어서 다음과 같은 상황을 가정하겠습니다.
Contest에는 3개의 문제가 있습니다. (ContestProblem record가 총 3개 있습니다.)
만점이 100점이고, 각 record의 score field값은 2, 1, 1이라고 합시다.
그러면 각 ContestProblem에 배정되는 실제 문제 배점은 50, 25, 25점입니다.
여기서 논의 해야 할 것은 2가지입니다.

  1. Contest table에 만점에 해당하느 field를 추가하여, Contest별로 만점을 설정할 것인가.
  2. ContestProblem의 score field가 이름만 봤을 때는 만점에서 각 ContestProblem이 차지하는 비율이라는 게 추론이 되지 않아서, field name을 scoreWeight로 바꿀 것인가

위 두 가지를 논의를 하고 feature를 개발해야 합니다.
#1203 에서 파생된 issue입니다.

Validations

@gyunseo
Copy link
Contributor Author

gyunseo commented Jan 24, 2024

일단 잠정적으로는 LeetCode의 방식을 따라 가기로 했습니다.
리트코드 방식: ICPC + 코드포스
푼 문제의 score 합산해서 정렬
score가 같으면 페널티 역순으로 정렬
페널티 = 마지막으로 푼 문제의 소요 시간 + 틀린 문제 수 * 5분

@gyunseo gyunseo moved this from Pending ✋ to In Progress 🏃 in Codedang Jan 24, 2024
@gyunseo gyunseo self-assigned this Jan 25, 2024
@github-project-automation github-project-automation bot moved this from In Progress 🏃 to Done ✔️ in Codedang Jul 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment