피드로 돌아가기
Encoding FIFA’s 495 third-place scenarios for the 2026 World Cup
Dev.toDev.to
Backend

C(12, 8)의 495개 시나리오를 Lookup Table로 해결한 2026 월드컵 대진 설계

Encoding FIFA’s 495 third-place scenarios for the 2026 World Cup

Mark2026년 5월 27일8intermediate

Context

48강 체제 도입으로 인한 3위 팀 진출 방식의 복잡도 증가. 단순히 성적순으로 배치하는 기존 Sorting 방식으로는 그룹 조합에 따라 변하는 Round of 32의 동적 슬롯 배정 규칙을 처리할 수 없는 한계 발생.

Technical Solution

  • Sorting 알고리즘과 Lookup Table을 결합한 하이브리드 아키텍처 설계
  • Points, Goal Difference, Goals For, Fair Play Points 순의 다단계 정렬로 3위 팀 상위 8개 팀 선별
  • 선별된 8개 팀의 GroupId를 정렬 후 결합하여 유일한 Combination Key 생성
  • 생성된 Key를 통해 495가지 가능한 그룹 조합과 Round of 32 슬롯 간의 매핑 정보를 저장한 Lookup Table 참조
  • 복잡한 비즈니스 규칙을 코드로 구현하는 대신 데이터 구조로 치환하여 구현 복잡도 제거 및 규칙 준수성 확보

1. 비즈니스 로직이 지나치게 복잡한 조건 분기로 이어지는지 검토

2. 가능한 모든 경우의 수(Combination)가 계산 가능하며 유한한 범위인지 확인

3. 'Clever Code' 대신 'Boring Data Table'을 통해 도메인 규칙을 명시적으로 관리하는 방안 고려

원문 읽기