Skip to content

JoungMinJu/java-ladder-func-playground

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💡요구사항 정리

기능 요구사항

step1

  • 네이버 사다리 게임을 참고하여, 도메인을 분석하여 구현한다.
  • 사다리는 4x4 크기로 고정된다
  • 연결 여부는 랜덤으로 결정한다
  • 라인은 겹치지 않아야 한다.

step2

  • 사다리의 크기를 입력받아 생성할 수 있다.

step3

  • 사다리를 보여준 후 결과를 출력한다.

step4

  • 사다리 게임에 참여하는 사람에 이름을 최대 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

About

초록 스터디 자바 기초 과정 사다리 미션을 위한 저장소

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published