- 네이버 사다리 게임을 참고하여, 도메인을 분석하여 구현한다.
- 사다리는 4x4 크기로 고정된다
- 연결 여부는 랜덤으로 결정한다
- 라인은 겹치지 않아야 한다.
- 사다리의 크기를 입력받아 생성할 수 있다.
- 사다리를 보여준 후 결과를 출력한다.
- 사다리 게임에 참여하는 사람에 이름을 최대 5글자까지 부여할 수 있다. 사다리를 출력할 때 사람 이름도 같이 출력한다.
- 사람 이름은 쉼표(,)를 기준으로 구분한다.
- 개인별 이름을 입력하면 개인별 결과를 출력하고, "all"을 입력하면 전체 참여자의 실행 결과를 출력한
📠 도메인 분석 내용
- 사용자는 "참여 인원 수"를 입력한다 (네이버엔 구현되어있지만 실행예시엔 해당 없음)
- 입력은 2 ~ 24명까지 선택할 수 있다.
- 이름과 당첨항목을 입력한다 (네이버엔 구현되어있지만 실행예시엔 해당 없음)
- 세로 줄 위 아래로 하나씩 배치할 수 있다
- "참여 인원 수" 만큼 세로 줄이 생기고
- 사다리 시작을 누르면
- 가로 줄이 생성된다.
- 서로 인접한 세로 줄 사이에는 0개 이상의 가로줄이 생길 수 있고
- 인접한 가로줄의 높이는 일치하지 않는다.
- 가로 줄이 생성된다.
- indent depth는 1까지만 허용
- 3항 연산자를 쓰지 않는다
- else를 쓰지 않는다
- 배열 대신 컬렉션을 사용한다.
- 줄여쓰지 않는다
- 함수의 길이가 10라인을 넘어가지 않도록 구현한다
- 함수가 한 가지 일만 하도록 최대한 작게 만든다
- 모든 원시 값과 문자열을 포장 한다
- 일급 컬렉션을 쓴다
- enum을 적용한다
- 모든 엔티티를 작게 유지한다
- 3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다.
- 열제한 120자
- 인덴드 depth는 1까지 허용
- 3항 연산자 비허용
- else 예약어 비허용
- 함수의 길이가 15라인을 넘어가지 않도록
- 함수가 하나의 일만 잘 하도록 구현
참여할 사람 이름을 입력하세요. (이름은 쉼표(,)로 구분하세요)
neo,brown,brie,tommy
실행 결과를 입력하세요. (결과는 쉼표(,)로 구분하세요)
꽝,5000,꽝,3000
최대 사다리 높이는 몇 개인가요?
5
사다리 결과
neo brown brie tommy
|-----| |-----|
| |-----| |
|-----| | |
| |-----| |
|-----| |-----|
꽝 5000 꽝 3000
결과를 보고 싶은 사람은?
neo
실행 결과
꽝
결과를 보고 싶은 사람은?
all
실행 결과
neo : 꽝
brown : 3000
brie : 꽝
tommy : 5000