Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RETRY 행성 로또

최종 코딩테스트 Repository

아쉬웠거나 개선하고 싶은 점

이렇게 적은 내용을 바탕으로 다시 행성 로또 문제를 해결해 보자.

문제 구현 관련

  • Lotto 클래스 안에서 너무 많은 일을 담당하고 있다.
  • Lotto 클래스의 statics 배열의 구조 개선 및 메서드를 더 효율적인 로직으로 구성해보기.
  • 입력 부분의 검증 함수 부족 및 그에 따른 테스트 부재
  • 일관성 있고 가독성 좋은 변수명 짓기
  • 매직넘버 제거 및 하드코딩 된 부분 상수화 진행

도전 과제 관련

  • 운세보기 기능의 완성 및 테스트 코드 작성
  • 수익 보기 기능의 테스트 코드 작성

기능 구현 목록

입력

  • 로또 번호를 입력 받는다.
  • 당첨 번호를 입력받는다. 번호는 쉼표(,)를 기준으로 구분한다.
  • 보너스 번호를 입력받는다.

출력

  • 발행한 로또 수량 및 번호를 출력한다. 로또 번호는 오름차순으로 정렬하여 보여준다.

출력 결과 예시

2개를 구매했습니다.
[8, 11, 13, 21, 22]
[1, 3, 6, 14, 22]
  • 당첨 내역을 출력한다.

출력 결과 예시

당첨 통계
---
5개 일치 (100,000,000원) - 0개
4개 일치, 보너스 번호 일치 (10,000,000원) - 0개
4개 일치 (1,500,000원) - 0개
3개 일치, 보너스 번호 일치 (500,000원) - 0개
2개 일치, 보너스 번호 일치 (5,000원) - 1개
0개 일치 (0원) - 1개

예외처리

예외 상황 시 [ERROR]로 시작하는 에러 문구를 출력한다.

  • 숫자가 아닌 값을 입력시 예외처리
  • 500원 이하의 금액을 입력하면 예외처리
  • 보너스 및 당첨 번호는 1 ~ 30 범위의 숫자만 입력 가능, 그 이외의 범위의 숫자 입력시 예외처리
  • 당첨 번호의 개수가 5개가 아니면 예외처리
  • 당첨 번호가 중복되면 예외처리
  • 당첨 번호와 보너스 번호가 중복되면 예외처리

도전과제 - 기능 추가

운세 보기 기능

로또 결과를 확인하기 전 오늘의 운세를 확인할 수 있는 기능을 만들었습니다.

입력

  • 운세를 확인할 지 [Y/N]으로 입력을 받는다.
  • 운세를 확인하지 않는다면 기존 행성 로또가 실행된다.

출력

  • 오늘의 로또 운세 메세지를 출력한다.

출력 결과 예시

(운세를 확인할 때)
오늘은 운이 좋을듯한 하루입니다. 과감하게 도전하세요!

(운세를 확인하지 않을 때)
로또 발매를 진행하겠습니다.

예외처리

  • Y(y) or N(n)을 입력하지 않는 경우 예외처리

당첨금 계산 및 수익률 계산

  • 총 로또 당첨금을 출력합니다.
  • 지난 주 로또 당첨 번호 기준으로 지표로 삼을 수 있는 수익률을 게산합니다.
  • 수익률은 소수점 첫째 자리까지 출력합니다.

출력 결과 예시

총 당첨금은 5,000원 입니다.
총 수익률은 10.0%입니다.

About

우테코 8기 최종 코딩테스트가 끝났지만, 테스트를 해결하는 동안 아쉬웠던 부분들을 해결해 보고 회고하는 저장소

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages