Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

기능목록

파일 입출력

  • 페어매칭에 필요한 크루들의 이름 불러오기.
    • 파일의 내용은 수정이 가능하다.
    • 수정 시 이름은 중복 될 수 없다.

입력

  • 기능의 종류 입력받기
    • 1,2,3,Q 중 하나 인지 확인
  • 과정, 레벨, 미션 입력 받기 ex) 백엔드, 레벨1, 자동차경주
    • 유효한 과정, 레벨, 미션 인지 확인

페어매칭

  • 과정, 레벨, 미션 입력 받기 ex) 백엔드, 레벨1, 자동차경주
    • 유효한 과정, 레벨, 미션 인지 확인
    • 이미 매칭 된게 있다면
      • 재매칭 입력 네
        • 다시 재매칭 후 저장
      • 재매칭 입력 아니오
        • 다시 과정, 레벨, 미션 입력 받기 ex) 백엔드, 레벨1, 자동차경주
    • 이미 매칭 된게 없다면 바로 매칭
  • 매칭 시작
    • 크루들 이름 List로 불러오기
    • 셔플 후 페어 만들기
      • 미션을 함께 수행할 페어를 두명씩 매칭한다.
      • 페어 매칭 대상이 홀수인 경우 한 페어는 3인으로 구성한다.
        • 마지막 남은 크루는 마지막 페어에 포함시킨다.
    • 기존의 모든 기록들에서 같은 과정이면서 레벨인 모든 페어 찾기
      • 이미 페어를 맺은 크루가 있는지 확인
        • 있다면 다시 셔플 후 재매칭
          • 3회 시도까지 매칭이 되지 않거나 매칭을 할 수 있는 경우의 수가 없으면 에러 메시지를 출력한다.
        • 없다면 해당 페어 저장

조회

  • 과정, 레벨, 미션을 선택하면 해당 미션의 페어 정보를 출력한다.
  • 매칭 이력이 없으면 매칭 이력이 없다고 안내한다.
    • [ERROR] 매칭 이력이 없습니다.

페어초기화

  • 기존 페어들의 매칭 기록 초기화

출력

  • 사용자가 잘못된 값을 입력할 경우IllegalArgumentException를 발생시키고,[ERROR]로 시작하는 에러 메시지를 출력 후 해당 부분부터 다시 입력을 받는다.
  • 매칭이 정상적으로 수행되면 결과가 출력된다.
    • 출력되는 페어의 순서는camp.nextstep.edu.missionutils.Randoms의 shuffle 메서드의 결과 순서로 정렬한다.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages