Skip to content

JangSeLim/javascript-lotto-7

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

javascript-lotto-precourse

로또 발권기

  • 사용자가 지정한 금액만큼 로또 번호를 자동으로 생성하여 발매
  • 이후 당첨 번호를 추첨하고, 구매한 로또 번호와 비교하여 당첨 내역과 수익률을 계산해 출력

기능 요구사항

  • 로또 구입 금액을 입력하면 구입 금액에 해당하는 만큼 로또를 발행해야 한다.
    • 로또 1장의 가격은 1,000원이다.
  • 로또 번호의 숫자 범위는 1~45까지이다.
  • 1개의 로또를 발행할 때 중복되지 않는 6개의 숫자를 뽑는다.
  • 당첨 번호와 보너스 번호를 입력받는다.
    • 당첨 번호 추첨 시 중복되지 않는 숫자 6개와 보너스 번호 1개를 뽑는다.
  • 당첨은 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원
  • 사용자가 구매한 로또 번호와 당첨 번호를 비교하여 당첨 내역 및 수익률을 출력하고 로또 게임을 종료한다.
  • 사용자가 잘못된 값을 입력할 경우 "[ERROR]"로 시작하는 메시지와 함께 Error를 발생시키고 해당 메시지를 출력한 다음 해당 지점부터 다시 입력을 받는다.

기능 목록

  1. 구입 금액 입력 및 유효성 검사

    • 구입 금액 입력 받기
      • 사용자에게 구입 금액을 입력받음
      • 구입 금액이 1,000원 단위로 나누어 떨어지는지 확인
      • 오류 처리: 1,000원 단위가 아닌 경우 [ERROR] 구입 금액은 1,000원 단위여야 합니다. 메시지를 출력하고 재입력 요구
        구입금액을 입력해 주세요.
        14500
        // [ERROR] 구입 금액은 1,000원 단위여야 합니다.
        
    • 발매 가능 개수 계산
      • 유효한 구입 금액에 따라 로또 발매 개수를 계산하고 저장
        구입금액을 입력해 주세요.
        14000 // 로또 14장
        
  2. 로또 발매 및 번호 출력

    • 발매 개수 출력
      14개를 구매했습니다.
      
    • 로또 번호 추첨
      • 발매 개수만큼 로또 번호 생성
      • 각 로또는 1~45 사이의 숫자 6개로 구성되며, 중복 숫자는 없어야 함
    • 발매된 로또 번호 출력
      • 번호는 쉼표(,)로 구분하여 오름차순 출력
        [8, 21, 23, 41, 42, 43]
        
  3. 당첨 번호 및 보너스 번호 입력

    • 당첨 번호 입력 받기
      • 사용자에게 쉼표로 구분된 6개의 당첨 번호 입력 받기
      • 입력된 숫자가 1~45 사이인지, 중복이 없는지 확인
      • 오류 처리
        • 숫자가 1~45 범위를 벗어난 경우 [ERROR] 메시지를 출력하고 재입력 요구
        • 중복 숫자가 있을 경우 [ERROR] 메시지를 출력하고 재입력 요구
        당첨 번호를 입력해 주세요.
        1, 2, 3, 4, 5, 100
        // [ERROR] 당첨 번호는 1~45 사이의 숫자여야 합니다.
        1, 2, 3, 4, 5, 5
        // [ERROR] 당첨 번호는 중복되지 않아야 합니다.
        
    • 보너스 번호 입력 받기
      • 사용자에게 1개의 보너스 번호 입력 받기
      • 입력된 번호가 1~45 범위에 있는지, 당첨 번호와 중복되지 않는지 확인
      • 오류 처리
        • 번호가 1~45 범위가 아닌 경우 [ERROR] 메시지를 출력하고 재입력 요구
        • 보너스 번호가 당첨 번호와 중복되는 경우 [ERROR] 메시지를 출력하고 재입력 요구
        보너스 번호를 입력해 주세요.
        1
        // [ERROR] 보너스 번호는 당첨 번호와 중복되지 않아야 합니다.
        
  4. 당첨 결과 확인

  • 각 로또 번호와 당첨 번호 비교
    • 구입한 각 로또가 당첨 번호와 일치하는 개수를 확인
    • 3개 이상 일치하는 로또는 등수별로 분류
  • 등수 판정 규칙
    1등: 6개 번호 일치 / 2,000,000,000원
    2등: 5개 번호 + 보너스 번호 일치 / 30,000,000원
    3등: 5개 번호 일치 / 1,500,000원
    4등: 4개 번호 일치 / 50,000원
    5등: 3개 번호 일치 / 5,000원
    
  1. 당첨 통계 및 수익률 계산
    • 당첨 개수 및 당첨 금액 합산
      • 등수별로 당첨된 로또 개수와 총 당첨 금액 계산
    • 수익률 계산
      • 수익률 = 총 당첨 금액 / 구입 금액 * 100
      • 수익률은 소수점 둘째 자리에서 반올림
    • 당첨 통계 및 수익률 출력
      당첨 통계
      ---
      3개 일치 (5,000원) - 1개
      4개 일치 (50,000원) - 0개
      5개 일치 (1,500,000원) - 0개
      5개 일치, 보너스 볼 일치 (30,000,000원) - 0개
      6개 일치 (2,000,000,000원) - 0개
      총 수익률은 62.5%입니다.
      

About

우테코 7기 프리코스 3주차 과제

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%