Skip to content

mixxeo/java-convenience-store-7-mixxeo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

64 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›’ ν”„λ‘œμ νŠΈ μ†Œκ°œ

μš°μ•„ν•œ ν…Œν¬μ½”μŠ€ 7κΈ° ν”„λ¦¬μ½”μŠ€μ˜ 4μ£Όμ°¨ λ―Έμ…˜, 편의점 결제 μ‹œμŠ€ν…œμ„ κ°œλ°œν•œ μ €μž₯μ†Œμž…λ‹ˆλ‹€.

이 ν”„λ‘œμ νŠΈλŠ” λ§€μž₯의 μƒν’ˆλ“€ 쀑 μ‚¬μš©μžκ°€ μ›ν•˜λŠ” μƒν’ˆμ„ μ›ν•˜λŠ” 개수만큼 μ£Όλ¬Έν•˜κ³ , ν”„λ‘œλͺ¨μ…˜ ν˜œνƒκ³Ό 멀버십 ν˜œνƒμ„ μ μš©ν•΄ μ΅œμ’… μ£Όλ¬Έ κ²°κ³Όλ₯Ό 영수증으둜 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μž…λ‹ˆλ‹€. μ£Όμš” κΈ°λŠ₯은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  • μƒν’ˆ μ£Όλ¬Έ: μƒν’ˆ λͺ©λ‘μ„ 보고 μ‚¬μš©μžλŠ” κ΅¬λ§€ν•˜κ³ μ‹Άμ€ μƒν’ˆμ˜ 이름과 μˆ˜λŸ‰μ„ μž…λ ₯ν•©λ‹ˆλ‹€.
  • ν”„λ‘œλͺ¨μ…˜ ν˜œνƒκ³Ό 멀버십 ν˜œνƒ 적용: ꡬ맀 μƒν’ˆ 및 κΈˆμ•‘μ— 따라 적용 κ°€λŠ₯ν•œ ν”„λ‘œλͺ¨μ…˜ ν˜œνƒκ³Ό 멀버십 ν˜œνƒμ΄ μ μš©λ©λ‹ˆλ‹€. ν”„λ‘œλͺ¨μ…˜μ€ 1+1 λ˜λŠ” 2+1의 μ¦μ •ν˜• 할인 ν˜œνƒμ΄κ³ , 멀버십 ν˜œνƒμ€ ν”„λ‘œλͺ¨μ…˜μ΄ μ μš©λ˜μ§€ μ•Šμ€ κΈˆμ•‘μ˜ 30%κ°€ ν• μΈλ©λ‹ˆλ‹€.
  • 영수증 좜λ ₯: 주문이 μ™„λ£Œλ˜λ©΄, μ‚¬μš©μžμ˜ ꡬ맀 λ‚΄μ—­κ³Ό 할인 내역을 μš”μ•½ν•˜μ—¬ 좜λ ₯ν•©λ‹ˆλ‹€. 영수증의 ν•­λͺ©μ—λŠ” ꡬ맀 μƒν’ˆ, 증정 μƒν’ˆ, 총ꡬ맀앑, 행사할인, 멀버십할인, λ‚΄μ‹€λˆμ΄ ν¬ν•¨λ˜μ–΄μžˆμŠ΅λ‹ˆλ‹€.
  • 재고 관리: μƒν’ˆ μ£Όλ¬Έμ‹œ ꡬ맀 κ°€λŠ₯ν•œ 재고 μˆ˜λŸ‰μ„ νŒŒμ•…ν•˜κ³ , μž¬μ£Όλ¬Έμ‹œ 이전에 κ΅¬λ§€ν•œ μˆ˜λŸ‰μ΄ 차감된 μƒν’ˆ λͺ©λ‘μ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ› οΈ κΈ°λŠ₯ λͺ©λ‘

1. μƒν’ˆ 및 행사 λͺ©λ‘

  • μƒν’ˆ λͺ©λ‘μ„ 파일 μž…μΆœλ ₯을 톡해 λΆˆλŸ¬μ˜¨λ‹€.
    • src/main/resources/products.md
  • 행사 λͺ©λ‘μ„ 파일 μž…μΆœλ ₯을 톡해 λΆˆλŸ¬μ˜¨λ‹€.
    • src/main/resources/promotions.md
  • ν™˜μ˜ 인사와 ν•¨κ»˜ μƒν’ˆλͺ…, 가격, ν”„λ‘œλͺ¨μ…˜ 이름, 재고λ₯Ό μ•ˆλ‚΄ν•œλ‹€.
    μ•ˆλ…•ν•˜μ„Έμš”. WνŽΈμ˜μ μž…λ‹ˆλ‹€.
    ν˜„μž¬ λ³΄μœ ν•˜κ³  μžˆλŠ” μƒν’ˆμž…λ‹ˆλ‹€.
    
    - {μƒν’ˆλͺ…} {가격} {개수}개 {ν”„λ‘œλͺ¨μ…˜ 이름}
    ...
    
    • 가격과 κ°œμˆ˜μ—λŠ” 1,000λ‹¨μœ„ μ‰Όν‘œ(,) 포맷을 μ μš©ν•œλ‹€.
  • μž¬κ³ κ°€ 0개인 μƒν’ˆμ˜ μž¬κ³ λŠ” 재고 μ—†μŒμœΌλ‘œ 좜λ ₯ν•œλ‹€.
μ˜ˆμ™Έ 처리
  • λͺ¨λ“  μƒν’ˆμ˜ μž¬κ³ κ°€ 0개이면 IllegalStateException 을 λ°œμƒμ‹œν‚€κ³  ν”„λ‘œκ·Έλž¨μ„ μ’…λ£Œν•œλ‹€.

2. ꡬ맀 μš”μ²­

  • ꡬ맀 μš”μ²­ λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•œλ‹€.
    κ΅¬λ§€ν•˜μ‹€ μƒν’ˆλͺ…κ³Ό μˆ˜λŸ‰μ„ μž…λ ₯ν•΄ μ£Όμ„Έμš”. (예: [사이닀-2],[감자칩-1])
    
  • ꡬ맀할 μƒν’ˆκ³Ό μˆ˜λŸ‰μ„ μž…λ ₯ λ°›λŠ”λ‹€.
    [콜라-10],[사이닀-3]
    
  • μž…λ ₯값에 λŒ€ν•΄, μƒν’ˆλͺ…κ³Ό μˆ˜λŸ‰ 데이터λ₯Ό μΆ”μΆœν•œλ‹€.
  • μž…λ ₯값을 κ²€μ¦ν•œλ‹€.
    • 빈 값인지 ν™•μΈν•œλ‹€.
    • μƒν’ˆκ³Ό μˆ˜λŸ‰ ν˜•μ‹μ΄ μ˜¬λ°”λ₯Έμ§€ ν™•μΈν•œλ‹€.
    • ꡬ맀 μˆ˜λŸ‰μ— 숫자 외에 λ‹€λ₯Έ λ¬Έμžκ°€ μžˆλŠ”μ§€ ν™•μΈν•œλ‹€.
    • ꡬ맀 μˆ˜λŸ‰μ΄ μ–‘μ˜ μ •μˆ˜μΈμ§€ ν™•μΈν•œλ‹€.
    • μƒν’ˆλͺ…이 μ‘΄μž¬ν•˜λŠ” μƒν’ˆμΈμ§€ ν™•μΈν•œλ‹€.
    • μƒν’ˆμ„ μ€‘λ³΅μœΌλ‘œ μž…λ ₯ν–ˆλŠ”μ§€ ν™•μΈν•œλ‹€.
    • ꡬ맀 μˆ˜λŸ‰μ΄ 재고 μˆ˜λŸ‰μ„ μ΄ˆκ³Όν•˜λŠ”μ§€ ν™•μΈν•œλ‹€.
μ˜ˆμ™Έ 처리
  • μž…λ ₯값이 μœ νš¨ν•˜μ§€ μ•ŠμœΌλ©΄ μž¬μž…λ ₯ λ°›λŠ”λ‹€.
  • IllegalArgumentException 을 λ°œμƒμ‹œν‚¨λ‹€.
  • "[ERROR]"둜 μ‹œμž‘ν•˜λŠ” 였λ₯˜ λ©”μ‹œμ§€μ™€ μ•ˆλ‚΄λ₯Ό 좜λ ₯ν•œλ‹€.
    • 기타 잘λͺ»λœ μž…λ ₯의 경우
      • [ERROR] 잘λͺ»λœ μž…λ ₯μž…λ‹ˆλ‹€. λ‹€μ‹œ μž…λ ₯ν•΄ μ£Όμ„Έμš”.
    • ꡬ맀할 μƒν’ˆκ³Ό μˆ˜λŸ‰ ν˜•μ‹μ΄ μ˜¬λ°”λ₯΄μ§€ μ•Šμ€ 경우
      • [ERROR] μ˜¬λ°”λ₯΄μ§€ μ•Šμ€ ν˜•μ‹μœΌλ‘œ μž…λ ₯ν–ˆμŠ΅λ‹ˆλ‹€. λ‹€μ‹œ μž…λ ₯ν•΄ μ£Όμ„Έμš”.
    • μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” μƒν’ˆμ„ μž…λ ₯ν•œ 경우
      • [ERROR] μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” μƒν’ˆμž…λ‹ˆλ‹€. λ‹€μ‹œ μž…λ ₯ν•΄ μ£Όμ„Έμš”.

3. ν”„λ‘œλͺ¨μ…˜ 적용 μƒν’ˆ 확인

  • 각 μƒν’ˆλ³„ ν”„λ‘œλͺ¨μ…˜ 쑴재 μ—¬λΆ€λ₯Ό ν™•μΈν•œλ‹€.
  • ν”„λ‘œλͺ¨μ…˜μ΄ μ‘΄μž¬ν•˜λŠ” μƒν’ˆμ˜ 경우, 였늘 λ‚ μ§œ(now)κ°€ ν”„λ‘œλͺ¨μ…˜ κΈ°κ°„ 내에 ν¬ν•¨λ˜λŠ”μ§€ ν™•μΈν•œλ‹€.

4. 재고 확인

  • 각 μƒν’ˆμ˜ 재고 μˆ˜λŸ‰μ„ κ³ λ €ν•˜μ—¬ 결제 κ°€λŠ₯ μ—¬λΆ€λ₯Ό ν™•μΈν•œλ‹€.
    • ν”„λ‘œλͺ¨μ…˜ μ§„ν–‰ 쀑인 μƒν’ˆμ˜ 경우, (ꡬ맀 μˆ˜λŸ‰) <= (ν”„λ‘œλͺ¨μ…˜ 재고) + (일반 재고)
    • 일반 μƒν’ˆμ˜ 경우, (ꡬ맀 μˆ˜λŸ‰) <= (일반 재고)
μ˜ˆμ™Έ 처리
  • ꡬ맀 μˆ˜λŸ‰μ΄ 재고 μˆ˜λŸ‰μ„ μ΄ˆκ³Όν•˜λ©΄ ꡬ맀 μš”μ²­μ„ λ‹€μ‹œ μ‹€ν–‰ν•œλ‹€.
  • IllegalArgumentException 을 λ°œμƒμ‹œν‚¨λ‹€.
  • "[ERROR]"둜 μ‹œμž‘ν•˜λŠ” 였λ₯˜ λ©”μ‹œμ§€μ™€ μ•ˆλ‚΄λ₯Ό 좜λ ₯ν•œλ‹€.
    • ꡬ맀 μˆ˜λŸ‰μ΄ 재고 μˆ˜λŸ‰μ„ μ΄ˆκ³Όν•œ 경우
      • [ERROR] 재고 μˆ˜λŸ‰μ„ μ΄ˆκ³Όν•˜μ—¬ ꡬ맀할 수 μ—†μŠ΅λ‹ˆλ‹€. λ‹€μ‹œ μž…λ ₯ν•΄ μ£Όμ„Έμš”.

5. ν”„λ‘œλͺ¨μ…˜ ν˜œνƒ μ•ˆλ‚΄

  • ν”„λ‘œλͺ¨μ…˜ 적용이 κ°€λŠ₯ν•œ μƒν’ˆμ— λŒ€ν•΄, ν•΄λ‹Ή μˆ˜λŸ‰λ§ŒνΌ κ°€μ Έμ™”λŠ”μ§€ ν™•μΈν•œλ‹€.
    • 1+1 ν”„λ‘œλͺ¨μ…˜μ˜ 경우, ꡬ맀 μˆ˜λŸ‰ n에 λŒ€ν•΄, n%2 == 1 μΌλ•Œ
    • 2+1 ν”„λ‘œλͺ¨μ…˜μ˜ 경우, ꡬ맀 μˆ˜λŸ‰ n에 λŒ€ν•΄, n%3 == 2 μΌλ•Œ
  • ν•΄λ‹Ή μˆ˜λŸ‰λ§ŒνΌ κ°€μ Έμ˜€μ§€ μ•Šμ•˜μ„ 경우, ν˜œνƒμ— λŒ€ν•œ μ•ˆλ‚΄ λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•œλ‹€.
    ν˜„μž¬ {μƒν’ˆλͺ…}은(λŠ”) 1개λ₯Ό 무료둜 더 받을 수 μžˆμŠ΅λ‹ˆλ‹€. μΆ”κ°€ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ? (Y/N)
    
  • 증정 μƒν’ˆ μΆ”κ°€ μ—¬λΆ€λ₯Ό μž…λ ₯λ°›λŠ”λ‹€.
  • μž…λ ₯값을 κ²€μ¦ν•œλ‹€.
    • μž…λ ₯값이 Y λ˜λŠ” N인지 ν™•μΈν•œλ‹€.
  • μž…λ ₯값이 Y이면, 증정 받을 수 μžˆλŠ” μƒν’ˆμ„ μΆ”κ°€ν•œλ‹€.
  • μž…λ ₯값이 N이면, 증정 받을 수 μžˆλŠ” μƒν’ˆμ„ μΆ”κ°€ν•˜μ§€ μ•ŠλŠ”λ‹€.
μ˜ˆμ™Έ 처리
  • μž…λ ₯값이 μœ νš¨ν•˜μ§€ μ•ŠμœΌλ©΄ μž¬μž…λ ₯ λ°›λŠ”λ‹€.
  • IllegalArgumentException 을 λ°œμƒμ‹œν‚¨λ‹€.
  • "[ERROR]"둜 μ‹œμž‘ν•˜λŠ” 였λ₯˜ λ©”μ‹œμ§€μ™€ μ•ˆλ‚΄λ₯Ό 좜λ ₯ν•œλ‹€.
    • 기타 잘λͺ»λœ μž…λ ₯의 경우
      • [ERROR] 잘λͺ»λœ μž…λ ₯μž…λ‹ˆλ‹€. λ‹€μ‹œ μž…λ ₯ν•΄ μ£Όμ„Έμš”.

6. ν”„λ‘œλͺ¨μ…˜ 재고 확인

  • ν”„λ‘œλͺ¨μ…˜ 적용이 κ°€λŠ₯ν•œ μƒν’ˆμ— λŒ€ν•΄, ν”„λ‘œλͺ¨μ…˜ μž¬κ³ κ°€ μΆ©λΆ„ν•œμ§€ ν™•μΈν•œλ‹€.
    • ν”„λ‘œλͺ¨μ…˜ ν˜œνƒμ€ ν”„λ‘œλͺ¨μ…˜ 재고 λ‚΄μ—μ„œλ§Œ μ μš©ν•  수 μžˆλ‹€.
  • ν”„λ‘œλͺ¨μ…˜ μž¬κ³ κ°€ λΆ€μ‘±ν•΄ 일뢀 μˆ˜λŸ‰μ„ μ •κ°€λ‘œ κ²°μ œν•΄μ•Ό ν•˜λŠ” 경우, μ•ˆλ‚΄ λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•œλ‹€.
    ν˜„μž¬ {μƒν’ˆλͺ…} {μˆ˜λŸ‰}κ°œλŠ” ν”„λ‘œλͺ¨μ…˜ 할인이 μ μš©λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. κ·Έλž˜λ„ κ΅¬λ§€ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ? (Y/N)
    
  • 일뢀 μˆ˜λŸ‰μ— λŒ€ν•΄ μ •κ°€λ‘œ κ²°μ œν• μ§€ μ—¬λΆ€λ₯Ό μž…λ ₯λ°›λŠ”λ‹€
  • μž…λ ₯값을 κ²€μ¦ν•œλ‹€.
    • μž…λ ₯값이 Y λ˜λŠ” N인지 ν™•μΈν•œλ‹€.
  • μž…λ ₯값이 Y이면, 일뢀 μˆ˜λŸ‰μ— λŒ€ν•΄ μ •κ°€λ‘œ κ²°μ œν•œλ‹€.
  • μž…λ ₯값이 N이면, μ •κ°€λ‘œ κ²°μ œν•΄μ•Όν•˜λŠ” μˆ˜λŸ‰λ§ŒνΌ μ œμ™Έν•œ ν›„ 결제λ₯Ό μ§„ν–‰ν•œλ‹€.
μ˜ˆμ™Έ 처리
  • μž…λ ₯값이 μœ νš¨ν•˜μ§€ μ•ŠμœΌλ©΄ μž¬μž…λ ₯ λ°›λŠ”λ‹€.
  • IllegalArgumentException 을 λ°œμƒμ‹œν‚¨λ‹€.
  • "[ERROR]"둜 μ‹œμž‘ν•˜λŠ” 였λ₯˜ λ©”μ‹œμ§€μ™€ μ•ˆλ‚΄λ₯Ό 좜λ ₯ν•œλ‹€.
    • 기타 잘λͺ»λœ μž…λ ₯의 경우
      • [ERROR] 잘λͺ»λœ μž…λ ₯μž…λ‹ˆλ‹€. λ‹€μ‹œ μž…λ ₯ν•΄ μ£Όμ„Έμš”.

7. ν”„λ‘œλͺ¨μ…˜ 할인

  • ν”„λ‘œλͺ¨μ…˜ 적용이 κ°€λŠ₯ν•œ μƒν’ˆμ— λŒ€ν•΄, 증정 μˆ˜λŸ‰μ„ κ³„μ‚°ν•œλ‹€.

8. 멀버십 할인

  • 멀버십 할인 적용 μ—¬λΆ€λ₯Ό ν™•μΈν•˜κΈ° μœ„ν•΄ μ•ˆλ‚΄ λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•œλ‹€.
    멀버십 할인을 λ°›μœΌμ‹œκ² μŠ΅λ‹ˆκΉŒ? (Y/N)
    
  • 멀버십 할인 적용 μ—¬λΆ€λ₯Ό μž…λ ₯λ°›λŠ”λ‹€.
  • μž…λ ₯값을 κ²€μ¦ν•œλ‹€.
    • μž…λ ₯값이 Y λ˜λŠ” N인지 ν™•μΈν•œλ‹€.
  • μž…λ ₯값이 Y이면, 멀버십 할인을 μ μš©ν•œλ‹€.
    • ν”„λ‘œλͺ¨μ…˜ 미적용 μƒν’ˆλ“€μ˜ κΈˆμ•‘μ˜ 30%λ₯Ό ν• μΈλ°›λŠ”λ‹€.
    • 멀버십 ν• μΈμ˜ μ΅œλŒ€ ν•œλ„λŠ” 8,000원이닀.
  • μž…λ ₯값이 N이면, 멀버십 할인을 μ μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.
μ˜ˆμ™Έ 처리
  • μž…λ ₯값이 μœ νš¨ν•˜μ§€ μ•ŠμœΌλ©΄ μž¬μž…λ ₯ λ°›λŠ”λ‹€.
  • IllegalArgumentException 을 λ°œμƒμ‹œν‚¨λ‹€.
  • "[ERROR]"둜 μ‹œμž‘ν•˜λŠ” 였λ₯˜ λ©”μ‹œμ§€μ™€ μ•ˆλ‚΄λ₯Ό 좜λ ₯ν•œλ‹€.
    • 기타 잘λͺ»λœ μž…λ ₯의 경우
      • [ERROR] 잘λͺ»λœ μž…λ ₯μž…λ‹ˆλ‹€. λ‹€μ‹œ μž…λ ₯ν•΄ μ£Όμ„Έμš”.

9. 재고 차감

  • ν”„λ‘œλͺ¨μ…˜ 적용이 κ°€λŠ₯ν•œ μƒν’ˆμ€ ν”„λ‘œλͺ¨μ…˜ 재고λ₯Ό μš°μ„ μ μœΌλ‘œ μ°¨κ°ν•œλ‹€.
    • ν”„λ‘œλͺ¨μ…˜ μž¬κ³ κ°€ λΆ€μ‘±ν•  κ²½μš°μ—λŠ” 일반 재고λ₯Ό μ‚¬μš©ν•œλ‹€.
  • 일반 μƒν’ˆμ€ 일반 재고λ₯Ό μ°¨κ°ν•œλ‹€.

10. κΈˆμ•‘ 계산

  • 총ꡬ맀앑: κ΅¬λ§€ν•œμ•‘μƒν’ˆμ˜ 총 μˆ˜λŸ‰κ³Ό 총 κΈˆμ•‘
  • 행사할인: 포둜λͺ¨μ…˜μ— μ˜ν•΄ ν• μΈλœ κΈˆμ•‘
  • 멀버십할인: 멀버십에 μ˜ν•΄ μΆ”κ°€λ‘œ ν• μΈλœ κΈˆμ•‘
  • λ‚΄μ‹€λˆ: μ΅œμ’… 결제 κΈˆμ•‘

11. 영수증 좜λ ₯

  • 영수증 ν•­λͺ©
    • ꡬ맀 μƒν’ˆ λ‚΄μ—­: κ΅¬λ§€ν•œ μƒν’ˆλͺ…, μˆ˜λŸ‰, 가격
    • 증정 μƒν’ˆ λ‚΄μ—­: ν”„λ‘œλͺ¨μ…˜μ— 따라 무료둜 제곡된 증정 μƒν’ˆμ˜ λͺ©λ‘
    • κΈˆμ•‘ 정보: 총ꡬ맀앑, 행사할인, 멀버십할인, λ‚΄μ‹€λˆ
  • 영수증의 ꡬ성 μš”μ†Œλ₯Ό 보기 μ’‹κ²Œ μ •λ ¬ν•˜μ—¬ 고객이 μ‰½κ²Œ κΈˆμ•‘κ³Ό μˆ˜λŸ‰μ„ 확인할 수 있게 ν•œλ‹€.
    ==============W 편의점================
    μƒν’ˆλͺ…		        μˆ˜λŸ‰       κΈˆμ•‘
    콜라		            3 	      3,000
    μ—λ„ˆμ§€λ°” 		        5 	      10,000
    =============증	    μ •===============
    콜라		            1
    ====================================
    총ꡬ맀앑		        8	      13,000
    행사할인			              -1,000
    멀버십할인			              -3,000
    λ‚΄μ‹€λˆ			               9,000
    
    • μˆ˜λŸ‰κ³Ό κΈˆμ•‘μ—λŠ” 1,000 λ‹¨μœ„ μ‰Όν‘œ(,) 포맷을 μ μš©ν•œλ‹€.

12. μΆ”κ°€ ꡬ맀

  • μΆ”κ°€ ꡬ맀 μ—¬λΆ€λ₯Ό ν™•μΈν•˜λŠ” μ•ˆλ‚΄ λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•œλ‹€.
    κ°μ‚¬ν•©λ‹ˆλ‹€. κ΅¬λ§€ν•˜κ³  싢은 λ‹€λ₯Έ μƒν’ˆμ΄ μžˆλ‚˜μš”? (Y/N)
    
  • μΆ”κ°€ ꡬ맀 μ—¬λΆ€λ₯Ό μž…λ ₯λ°›λŠ”λ‹€.
  • μž…λ ₯값을 κ²€μ¦ν•œλ‹€.
    • μž…λ ₯값이 Y λ˜λŠ” N인지 ν™•μΈν•œλ‹€.
  • μž…λ ₯값이 Y이면, μž¬κ³ κ°€ μ—…λ°μ΄νŠΈλœ μƒν’ˆ λͺ©λ‘μ„ 확인 ν›„ μΆ”κ°€λ‘œ ꡬ맀λ₯Ό μ§„ν–‰ν•œλ‹€.
  • μž…λ ₯값이 N이면, ꡬ맀λ₯Ό μ’…λ£Œν•œλ‹€.
μ˜ˆμ™Έ 처리
  • μž…λ ₯값이 μœ νš¨ν•˜μ§€ μ•ŠμœΌλ©΄ μž¬μž…λ ₯ λ°›λŠ”λ‹€.
  • IllegalArgumentException 을 λ°œμƒμ‹œν‚¨λ‹€.
  • "[ERROR]"둜 μ‹œμž‘ν•˜λŠ” 였λ₯˜ λ©”μ‹œμ§€μ™€ μ•ˆλ‚΄λ₯Ό 좜λ ₯ν•œλ‹€.
    • 기타 잘λͺ»λœ μž…λ ₯의 경우
      • [ERROR] 잘λͺ»λœ μž…λ ₯μž…λ‹ˆλ‹€. λ‹€μ‹œ μž…λ ₯ν•΄ μ£Όμ„Έμš”.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages