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
43 changes: 43 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# 요구 사항
## 기능 요구 사항
- 사용자가 로또 구입 금액 입력 시 그에 해당하는 만큼 로또 발행
- 로또 번호의 숫자 범위는 1~45까지
- 1개의 로또를 발행할 때 중복되지 않는 6개의 숫자를 뽑음
- 로또 한 개의 가격은 1000원
- 당첨 번호는 입력을 통해 받음
- 당첨 번호와 보너스 번호까지 입력 받음
- 1~45까지의 중복되지 않는 숫자
- 보너스 번호는 당첨 번호와 같은 숫자면 안 됨
- 당첨 가격
- 1등 6개 번호 일치 / 2,000,000,000원
- 2등 5개 + 보너스 번호 일치 / 30,000,000원
- 3등 5개 번호 일치 / 1,500,000원
- 4등 4개 번호 일치 / 50000원
- 5등 3개 번호 일치 / 5000원

## 입력 요구 사항
- 로또 구입 금액을 입력 받음
- 1000원 단위로 입력 받으며
- 1000원으로 나누어 떨어지지 않으면 예외처리
- 당첨 번호를 입력 받음
- 쉼표를 기준으로 구분
- 보너스 번호도 입력

## 출력 요구 사항
- 구입금액을 입력해 주세요.
- 3개를 구매했습니다. <br>
[8, 21, 23, 41, 42, 43] <br>
[3, 5, 11, 16, 32, 38] <br>
[7, 11, 16, 35, 36, 44] <br>
#### 위와 같이 로또 당첨 번호를 출력하며, 오름 차순으로 정렬한다.
- 당첨 번호를 입력해 주세요
- 보너스 번호를 입력해 주세요
- 당첨 통계 <br>
"---" <br>
3개 일치 (5,000원) - 1개 <br>
4개 일치 (50,000원) - 0개 <br>
5개 일치 (1,500,000원) - 0개 <br>
5개 일치, 보너스 볼 일치 (30,000,000원) - 0개 <br>
6개 일치 (2,000,000,000원) - 0개 <br>
총 수익률은 62.5%입니다. <br>
#### 위와 같이 당첨 된 금액을 알려주고, 총 수익률을 계산해서 알려준다.
13 changes: 12 additions & 1 deletion src/main/java/lotto/Lotto.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package lotto;

import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Lotto {
private final List<Integer> numbers;
Expand All @@ -10,10 +12,19 @@ public Lotto(List<Integer> numbers) {
this.numbers = numbers;
}

private void validate(List<Integer> numbers) {
private void validate(List<Integer> numbers) throws IllegalArgumentException{
if (numbers.size() != 6) {
throw new IllegalArgumentException();
}
isDuplicate(numbers);
}
private void isDuplicate(List<Integer> numbers) {
Set<Integer> uniqueNumbers = new HashSet<>();
for (Integer number : numbers) {
if (!uniqueNumbers.add(number)) {
throw new IllegalArgumentException();
}
}
}

// TODO: 추가 기능 구현
Expand Down