Giter Club home page Giter Club logo

java-lotto's Introduction

로또

진행 방법

  • 로또 요구사항을 파악한다.
  • 요구사항에 대한 구현을 완료한 후 자신의 github 아이디에 해당하는 브랜치에 Pull Request(이하 PR)를 통해 코드 리뷰 요청을 한다.
  • 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 PUSH한다.
  • 모든 피드백을 완료하면 다음 단계를 도전하고 앞의 과정을 반복한다.

온라인 코드 리뷰 과정

기능 요구사항

1단계 - 문자열 덧셈 계산기

  • 쉼표(,) 또는 콜론(:)을 구분자로 가지는 문자열을 전달하는 경우 구분자를 기준으로 분리한 각 숫자의 합을 반환 (예: “” => 0, "1,2" => 3, "1,2,3" => 6, “1,2:3” => 6)
  • 앞의 기본 구분자(쉼표, 콜론)외에 커스텀 구분자를 지정할 수 있다. 커스텀 구분자는 문자열 앞부분의 “//”와 “\n” 사이에 위치하는 문자를 커스텀 구분자로 사용한다. 예를 들어 “//;\n1;2;3”과 같이 값을 입력할 경우 커스텀 구분자는 세미콜론(;)이며, 결과 값은 6이 반환되어야 한다.
  • 문자열 계산기에 숫자 이외의 값 또는 음수를 전달하는 경우 RuntimeException 예외를 throw한다.

3단계 - 로또(2등)

  • 로또 구입 금액을 입력하면 구입 금액에 해당하는 로또를 발급해야 한다.
    • 1게임 이상 구매해야 한다. (구입 금액 1000원 이상 이어야 한다.)
    • 구매 금액을 입력할 수 있다.
    • 당첨 번호를 입력할 수 있다.
      • 콤마(,)를 구분자로 입력 받는다.
      • 6개를 입력 받아야 한다.
        • 입력받은 숫자는 중복되지 않아야 한다.
  • 로또 1장의 가격은 1000원이다.
  • 로또 게임은 돈을 받고 돈만큼의 게임을 구매해 준다 (자동)
  • 로또 게임은 구매한 로또 게임 번호들과 당첨번호를 받고 당첨 여부 결과를 반환해 준다.
  • 2등을 위해 추가 번호를 하나 더 추첨한다.
  • 당첨 통계에 2등도 추가해야 한다.

4단계 - 로또(수동)

  • 현재 로또 생성기는 자동 생성 기능만 제공한다. 사용자가 수동으로 추첨 번호를 입력할 수 있도록 해야 한다.
  • 입력한 금액, 자동 생성 숫자, 수동 생성 번호를 입력하도록 해야 한다.
  • 로또 번호(LottoNumber)
    • 1 부터 45 까지 범위에서 하나의 값을 갖는다.
    • 같은 번호값을 가지면 같은 로또 번호로 인식한다.
  • 로또 번호 조합(LottoNumbers)
    • 로또 번호 6개의 조합
    • 각 로또 번호들은 중복될 수 없다.
    • 다른 로또 번호 조합과 비교하여 몇개의 로또 번호가 일치 하는지 알아 낼 수 있다.

java-lotto's People

Contributors

javajigi avatar jwee0330 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.