구매 로또와 정답 로또를 비교해서 정답 개수 세기
- const만 사용
- depth 1단계
- 파라미터 2개 이하
- 순수 함수만 사용하기
- getter 금지 (출력할 때만 사용하기)
- 클래스 필드는 2개까지
금액을 입력받고 금액에 맞게 랜덤한 번호를 할당한 로또를 발행하고 당첨번호, 보너스번호와 비교하여 등수를 계산해 수익률을 출력하는 프로그램 만들기.
1등: 6개 번호 일치 / 2,000,000,000원
2등: 5개 번호 + 보너스 번호 일치 / 30,000,000원
3등: 5개 번호 일치 / 1,500,000원
4등: 4개 번호 일치 / 50,000원
5등: 3개 번호 일치 / 5,000원
-
0또는 음의 정수가 입력된 경우 에러를 발생시킨다
-
1~45 사이가 아닌 경우 에러를 발생시킨다
-
로또 번호가 중복되는 경우 에러를 발생시킨다
-
로또 번호가 6개가 아닌 경우 에러를 발생시킨다
-
빈 입력 시 에러를 발생시킨다
-
입력에 문자가 포함된 경우 에러를 발생시킨다
-
입력이 1,000원 단위가 아닌 경우 에러를 발생시킨다
-
배열에 중복된 값이 있는 경우 에러를 발생시킨다
- 유효한 번호를 이용해 Lotto 객체를 생성한다
- 로또 생성 시 번호를 오름차순으로 올바르게 정렬해야한다
- 유효하지 않은 값을 이용해 로또를 생성할 경우 에러를 발생시킨다
- 구입 수량만큼 로또를 발행해야 한다
- 유효한 로또 번호, 보너스 번호를 이용해 WinningLotto 객체를 생성한다
- 유효하지 않은 값을 이용해 로또를 생성할 경우 에러를 발생시킨다
- 임의의 로또가 당첨번호와 일치하는 번호의 개수를 반환한다
- 임의의 로또가 보너스 번호를 포함하고 있는지 반환한다
- 로또를 당첨 번호, 보너스번호와 비교하여 올바르게 등수를 계산한다
- 구매한 모든 로또의 등수를 계산해 반환한다
- 올바른 수익률을 계산하고 소수점 둘째자리에서 반올림한 뒤 반환한다
- 1단계에서 구현한 도메인 로직을 수정하지 않고, UI만 변경한다.
- 목적에 맞는 HTML 태그를 사용한다.
- CSS 속성은 가능하면 축약형(shorthand)을 사용한다.
- flexbox를 활용해 레이아웃을 구성한다.
- 헤더
- 제목 및 구입금액 입력폼
- 구매한 로또 목록 표시
- 당첨번호 및 보너스번호 입력폼
- 푸터
- 오버레이 및 당첨 결과 모달