Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
공통

- 사용자가 잘못된 값을 입력할 경우 throw문을 사용해 예외를 발생시킨다. 그런 다음, "[ERROR]"로 시작하는 에러 메시지를 출력하고 해당 부분부터 입력을 다시 받는다.

🚀 구현 기능 목록

1. 구입 금액을 입력 받는다.

- 구입 금액은 1,000원 단위로 입력 받으며 1,000원으로 나누어 떨어지지 않는 경우 예외 처리한다.
- 1000원 이상 처리
- 숫자 아닌 값 처리

2. 금액에 맞는 로또 개수 구매 문구를 출력한다.

3. 구매 가능 개수에 만큼 로또 세트(임의의 숫자 6개)를 선택한다.

- 각 숫자는 1~45사이의 값이다.
- 각 수자는 로또 1개의 세트에서 중복되어서는 안된다.

4. 3에서 선택된 로또 세트를 줄바꿈하여 출력한다.

- 오름차순으로 정렬하여 출력한다.ex) [8, 21, 23, 41, 42, 43]

5. 당첨 번호를 입력 받는다. 번호는 쉼표(,)를 기준으로 구분한다.

- 1~45 사이의 값이어야 한다.
- 중복되면 안된다.
- 숫자 아닌 값 처리

6. 보너스 번호를 입력 받는다.

- 1~45 사이의 값이어야 한다.
- 5에서 선택된 번호와 중복되면 안된다.

* 숫자 아닌 값 처리

7. 당첨 내역을 출력한다.

- 당첨 기준은 다음과 같다.
- 당첨은 1등부터 5등까지 있다. 당첨 기준과 금액은 아래와 같다. - 1등: 6개 번호 일치 / 2,000,000,000원 - 2등: 5개 번호 + 보너스 번호 일치 / 30,000,000원 - 3등: 5개 번호 일치 / 1,500,000원
- 4등: 4개 번호 일치 / 50,000원 - 5등: 3개 번호 일치 / 5,000원
- 출력 양식 예시
```
3개 일치 (5,000원) - 1개
4개 일치 (50,000원) - 0개
5개 일치 (1,500,000원) - 0개
5개 일치, 보너스 볼 일치 (30,000,000원) - 0개
6개 일치 (2,000,000,000원) - 0개
```
- 위와 같이 당첨 기준 및 당첨 개수를 출력한다.

8. 수익률을 계산하여 출력한다.

- 수익률은 소수점 둘째 자리에서 반올림한다. (ex. 100.0%, 51.5%, 1,000,000.0%)

개발 참고

- indent(인덴트, 들여쓰기) depth를 3이 넘지 않도록 구현한다. 2까지만 허용한다.
- 함수(또는 메서드)의 길이가 15라인을 넘어가지 않도록 구현한다.
- else를 지양한다.
- 도메인 로직에 단위 테스트를 구현해야 한다. 단 UI는 제외
- @woowacourse/mission-utils에서 제공하는 Random 및 Console API를 사용하여 구현해야 한다.
6 changes: 5 additions & 1 deletion src/App.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
class App {
async play() {}
async play() {
const purchaseMoney = await Console.readLineAsync(
"구입금액을 입력해 주세요."
);
}
}

export default App;