Skip to content

계명의대 PK 실습조 추첨을 위한 프로그램입니다.

License

Notifications You must be signed in to change notification settings

djffkfl365/kmumed-pk-grouper

Repository files navigation

계명의대 PK 조추첨 프로그램 사용법

  • 여기를 클릭하여 프로그램을 다운로드 받을 수 있습니다.
  • 다양한 경우의 수를 고려하여 개발할 여력이 되지 않아 버그가 많을 수 있습니다. 양해 부탁드립니다.
  • 최소한의 테스트만 이루어진 프로그램입니다. 밴카드 등의 정보가 확정된 후, 최종 공개 추첨 이전에 미리 테스트하는 것을 권장합니다. 추첨 결과는 프로그램 내부에 일체 저장되지 않으며, 완전한 독립시행입니다.

시작하기 전에

  • 프로그램 실행을 위해 .NET 7.0 Desktop Runtime이 필요합니다. 설치되어 있지 않은 경우 오류 메시지가 표시되며 프로그램이 실행되지 않습니다.
  • 오류 메시지에서 확인을 클릭하면 자동으로 설치 관리자를 다운로드합니다. 다운로드된 파일을 실행하여 설치 후, 프로그램을 실행해주세요.
  • 링크에서 운영체제에 맞는 버전(대부분의 경우 x64) .NET 데스크톱 런타임 설치 관리자를 다운받을 수 있습니다.

기초정보 파일 입력

일반 원칙

  • 열 순서가 바뀌면 안됩니다. 반드시 동봉된 예제 파일(grouping_example.csv)을 참고해주세요.
  • 절대 첫 행의 "학번" 항목이 수정되면 안됩니다!!!!!!!!
  • UTF-8 인코딩의 csv 파일만 지원합니다.
  • EUC-KR(ANSI) 인코딩은 사용상의 편의를 위해 인식은 하도록 해 두었으나, 사용을 권장하지 않습니다.
  • Microsoft Excel로 편집하는 경우, 다른 이름으로 저장의 "Excel 통합 문서 (*.xlsx)"를 "CSV UTF-8(쉼표로 분리)(*.csv)" 로 바꿔서 저장해주세요.
  • 파일 이름은 상관없습니다.
  • 데이터 작성 후에는 반드시 파일을 닫은 후 진행바랍니다.
  • 양식에 어긋나는 경우 동작을 보증할 수 없습니다.

항목별 설명

  1. 학번(필수)
    사람을 식별하는 데 사용됩니다. 꼭 진짜 학번은 아니어도 상관없으나, 중복되는 값이 있으면 안됩니다.
    동명이인(이름 기준)이 있는 경우, 최종 결과파일의 이름 옆에 학번이 함께 기재됩니다.

  2. 이름(필수)
    실명을 작성해 주세요. 조 추첨 결과 공지/행정실 전달을 위한 파일 작성에 이용됩니다. 최종 결과 보고 외에는 이용되지 않습니다. 중복되는 값이 있는 경우 학번이 함께 기재됩니다.

  3. 닉네임(필수)
    추첨 과정 표시에 사용될 별명입니다. 특별한 제한은 없으나, 혼선을 방지하기 위해 중복되는 값은 사용하지 않기를 권장합니다.

  4. 밴카드(선택)
    1명까지 작성 가능합니다. 밴픽의 "이름"과 일치하는 값을 입력하면 됩니다.

  5. 성별(경우에 따라 필수)
    남성인 경우 M, 여성인 경우 F로 입력하면 됩니다. 조 배정에 성별을 고려하는 경우 반드시 정확한 값을 입력하여야 합니다. 최종 결과파일에서 성비 보고에 사용합니다.

  6. 외과 카피(경우에 따라 필수)
    외과 카피를 고려하는 경우(3학년 2학기), 이번학기에 배정될 카피를 A 또는 B로 입력하면 됩니다.

옵션 설정

  • 추첨과 결과 보고 옵션을 설정할 수 있습니다.
  1. 모드
    추첨하고자 하는 학년/학기를 선택해 주세요. 조 개수, 외과 copy가 2023년도 교육과정을 기준으로 입력됩니다. 프로그램 동작과는 크게 관계없으니, 꼭 선택하지 않아도 괜찮습니다.

  2. 조 개수
    총 몇 개의 조로 나누는지 1 이상의 숫자만 입력해주세요. 모드를 선택하면 자동으로 입력됩니다.

  3. 외과 Copy 외과 Copy를 고려해야 하는지 선택해주세요. 모드를 선택하면 자동으로 입력됩니다. 비율은 1:1로 고정되어 있습니다.

  4. 데이터 파일
    위에서 작성한 파일을 불러오는 칸입니다. 선택해주세요 텍스트를 클릭하면 파일 검색창이 열립니다.

    1. 총원
      데이터 파일에 입력된 정보를 기준으로 추첨 대상 인원을 표시합니다. 실제 인원과 다른 경우 데이터 파일을 수정 후 다시 시도해주세요.

    2. x명조, y명조
      인원을 최대한 균등하게 배분할 수 있는 해를 총원과 조 개수를 기반으로 자동으로 산출하여 표시합니다. 나누어 떨어지는 경우 한 가지 패턴만 표시됩니다.

  5. 성비

  • 조 추첨 과정에서 성비를 고려할지 선택해주세요.
  • 4, 5번 옵션의 경우, 학년의 성별 구성에 따라 수학적으로 배정이 불가한 경우가 발생할 수 있습니다. 따라서 추첨에 최종 실패하는 경우 다른 옵션을 이용하는 것을 권장합니다.
    1. 고려하지 않음(랜덤배정): 성비를 고려하지 않고 랜덤하게 배정합니다. 추첨이 빠르게 성공할 확률이 높습니다.
    2. 균등배분(외과 Copy와 같은 방식): 학년 전체의 성비와 유사하게 최대한 균일하도록 배정합니다.
    3. 인구가 적은 성의 과반 구성만 배제: 입력된 데이터를 바탕으로 수가 적은 성별이 한 조의 과반을 넘어가지 않게 배정합니다. 예를 들어, 남성이 적은 학년의 경우, 5명과 4명 조에서는 한 조에 2명까지 남성이 배정될 수 있습니다. 반대로, 여성만으로 구성되는 조는 있을 수 있습니다. 학년 전체의 성비에 따라 추첨에 실패할 확률이 달라지며, 최종 성공까지 시간이 오래 걸릴 수 있습니다. 학년 전체의 성비가 1:1에 가까울수록 추첨에 최종 실패할 확률이 올라가며, 사용을 권장하지 않습니다.
    4. 단독구성 배제(0 or more than 2): 학년 전체의 성비와 관계 없이 한 성별이 한 조에서 한명만 있는 경우를 배제합니다. 예를 들어, 4명 조인 경우 4:0, 2:2, 0:4인 경우만 가능합니다. 인원이 홀수인 성별이 있는 경우 사용할 수 없습니다. 홀수 인원인 조가 발생하는 경우에는 추가 설정이 필요합니다.
      1. 랜덤: 홀수 인원인 조는 랜덤하게 배정합니다. 예를 들어, 3, 4명인 조로 배정하는 경우, 3명인 조는 성비를 고려하지 않습니다.
      2. 인구가 적은 성의 과반 구성 배제: 홀수 인원인 조에서만 인구가 적은 성별인 사람이 과반을 넘지 않도록 구성합니다. 여성이 적은 학년의 경우 3명인 조에 여성은 1명까지만 배정됩니다. 4명인 조에서는 M:F = 2:2, 4:0, 0:4(5번이 아닌 경우에만)가 모두 가능합니다.
    5. 인구가 적은 성의 과반 구성 및 단독구성 배제: 3, 4의 방식을 복합(AND)하여 적용합니다.
  1. 추첨 과정 표시 옵션
  • 추첨 과정을 표시하거나 표시하지 않을 수 있습니다.
  • 중요한 event에 대한 log는 옵션과 관계없이 표시됩니다.
  • 추첨 과정을 표시하는 경우, 사람마다 몇 조에 배정되었는지를 표시합니다.
  • 단, 특정인이 모든 조에 배정될 수 없는 경우, 처음부터 다시 추첨이 시작됩니다.
  • 옵션 설정은 아래의 추첨 과정에 대한 설명을 참고바랍니다.
  • 설정에 따라 추첨 완료까지 상당한 시간이 소요될 수 있습니다.
    1. n회차까지: 몇 번째 cycle 까지 delay를 줄 것인지 선택합니다. 기본값은 5이며, 1 ~ 100을 입력할 수 있습니다.
    2. m초 간격으로 추첨: 추첨하는 사람 사이의 시간 간격을 설정합니다. 기본값은 1.0이며, 소수점 첫째 자리까지 1 ~ 10을 입력할 수 있습니다.
  1. 추첨 시작
    모든 설정과 데이터 파일을 확인한 후 버튼을 누르면 추첨이 시작됩니다.

추첨 과정

  • 랜덤한 사람을 사람마다 랜덤한 순서의 조에 배정을 시도합니다. Ex) 김ㅇㅇ -> 최ㅇㅇ -> 김ㄱㄱ -> ...
  • 조원 수, 성비, 외과 Copy 등의 사유로 해당 조에 배정할 수 없는 경우 다음 조에 배정을 시도합니다. Ex) 4조 -> 10조 -> 1조 -> ...
  • 모든 조에 대해 배정되지 못하는 경우, 처음부터 다시 추첨이 시작됩니다. 누가 배정에 실패했는지는 표시되지 않습니다.
  • 이 과정(Cycle)을 반복하며 배정에 최종 성공할 때까지 추첨을 시도합니다.

추첨 결과 확인

  • 추첨에 최종 성공한 후, 옵션 설정과 관계없이 별명을 기준으로 추첨 결과를 log에도 표시합니다.
  • 추첨에 최종 성공한 후, 이름(실명)이 기재된 결과는 바탕화면에 저장됩니다.
  • 이름(실명)이 기재된 결과는 가나다순으로 정렬되며, 추첨 순서와는 관계없습니다.
  • 엑셀이나 메모장으로 열어볼 수 있습니다.
  • 엑셀에서 글자가 깨져 보이는 경우, 데이터 탭의 '텍스트/CSV에서'를 클릭하여 결과파일을 선택한 후, 인코딩을 유니코드(UTF-8)로 선택하여 불러옵니다.
  • 엑셀에서 불러오는 자세한 방법은 링크를 참고해주세요

문의사항은 djffkfl365@stu.kmu.ac.kr 로 연락바랍니다.
© Copyright 2023 izuku39

About

계명의대 PK 실습조 추첨을 위한 프로그램입니다.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages