Skip to content

ueong/tdd-kata-roman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

로마 숫자 TDD Kata

이 Repository는 TDD를 연습하기 위한 Kata를 소개합니다.

문제 정의

1. 자연수를 입력하면 로마 숫자로 표시할 수 있는 RomanNumber 클래스를 정의하시오.

예를 들면 다음과 같습니다.

RomanNumber four = new RomanNumber(4);
System.out.println(four.value()); // IV

RomanNumber ninetyNine = new RomanNumber(99);
System.out.println(ninetyNine.value()); // XCIX

RomanNumber eightHundredSeventySix = new RomanNumber(876);
System.out.println(eightHundredSeventySix.value()); // DCCCLXXVI

로마 숫자는 다음과 같이 정의됩니다.

숫자 로마숫자
1 I
5 V
10 X
50 L
100 C
500 D
1000 M

본 Kata에서 숫자 입력값의 범위는 1 - 3999 까지입니다. 이 범위를 넘어가는 입력값이 들어오면 IllegalArgumentExceptionthrow해야 합니다.

2. 로마 숫자의 사칙연산을 구현하시오.

예를 들면 다음과 같습니다.

RomanNumber twelve = new RomanNumber(12);
RomanNumber three = new RomanNumber(3);

RomanNumber plusResult = twelve.plus(three);
System.out.println(plusResult.value()); // XV

RomanNumber minusResult = twelve.minus(three);
System.out.println(minusResult.value()); // IX

RomanNumber multiplyResult = twelve.multiply(three);
System.out.println(multiplyResult.value()); // XXXVI

RomanNumber divideResult = twelve.divide(three);
System.out.println(divideResult.value()); // IV

사칙 연산의 결과는 1 - 3999 범위에 있어야 합니다. 만약에 연산 결과값이 범위를 넘어가면 IllegalArgumentExceptionthrow해야 합니다.

만약에 나눗셈의 결과가 나누어 떨어지지 않아도 IllegalArgumentExceptionthrow해야 합니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages