diff --git a/assign_teams.py b/assign_teams.py index 90db8b1..262d519 100644 --- a/assign_teams.py +++ b/assign_teams.py @@ -139,6 +139,18 @@ def validate(teams): if max(senior_per_team) - min(senior_per_team) > 1: return False, f"시니어 분포 불균등: {senior_per_team}" + # 한지승(지각 가능) 특수 제약 + # 1. 4명 팀에 배치 금지 (지각 시 3명 → 너무 적음) + # 2. 한지승 팀에 다른 시니어 ≥1명 (지각 시 시니어 0 방지) + for team in teams: + names = [n for n, _ in team] + if "한지승" in names: + if len(team) < 5: + return False, "한지승 4명팀 배치 (지각 시 3명)" + other_seniors = sum(1 for n in names if n in SENIORS and n != "한지승") + if other_seniors < 1: + return False, "한지승 팀에 다른 시니어 0명 (지각 시 시니어 0)" + return True, "OK" @@ -186,10 +198,14 @@ def main(): ) n_senior = sum(1 for n, _ in team if n in SENIORS) size = len(team) - print(f"## {team_name} ({size}명, 시니어 {n_senior}, {dept_summary})") + late_note = " ⏰한지승 지각시 -1" if any(n == "한지승" for n, _ in team) else "" + print(f"## {team_name} ({size}명, 시니어 {n_senior}, {dept_summary}){late_note}") for name, dept in team: tag = " ⭐시니어" if name in SENIORS else "" - tag += " 🌱최주니어" if name == "김재현" else "" + if name == "김재현": + tag += " 🌱최주니어" + if name == "한지승": + tag += " ⏰지각가능" print(f" - {name} ({dept}){tag}") mapping[name] = team_name print() diff --git a/participants.json b/participants.json index 730d121..660e4f2 100644 --- a/participants.json +++ b/participants.json @@ -1,36 +1,36 @@ { - "이성재": "팀1", - "김민섭": "팀1", - "이준석": "팀1", - "박영훈": "팀1", - "박재호": "팀1", - "조민정": "팀2", - "이준형": "팀2", - "김재현": "팀2", - "길주현": "팀2", - "김병훈": "팀2", - "유준희": "팀3", - "유용혁": "팀3", - "오근현": "팀3", + "김호승": "팀1", + "유준희": "팀1", + "김영관": "팀1", + "장다현": "팀1", + "강승형": "팀1", + "서한배": "팀2", + "김민섭": "팀2", + "유용혁": "팀2", + "박영훈": "팀2", + "박재호": "팀2", + "이성재": "팀3", + "이재광": "팀3", + "이준석": "팀3", "정채윤": "팀3", - "강승형": "팀3", - "이정태": "팀4", - "서한배": "팀4", - "김영관": "팀4", + "변수민": "팀3", + "심성환": "팀4", + "유지원": "팀4", + "오근현": "팀4", "장혁진": "팀4", "손현준": "팀4", - "유지원": "팀5", "정현준": "팀5", - "최호진": "팀5", - "서희": "팀5", - "변수민": "팀5", - "이재광": "팀6", - "심성환": "팀6", - "전효준": "팀6", - "장다현": "팀6", - "김동국": "팀6", - "김호승": "팀7", - "김정명": "팀7", + "조민정": "팀5", + "김재현": "팀5", + "김병훈": "팀5", + "한지승": "팀5", + "이정태": "팀6", + "최호진": "팀6", + "김정명": "팀6", + "길주현": "팀6", + "서희": "팀6", + "이준형": "팀7", + "전효준": "팀7", "이지환": "팀7", - "한지승": "팀7" + "김동국": "팀7" } \ No newline at end of file