Sha256: 9ad139f9a3c156f2caa5134b82ddc631a9caaf6095956cfd82f8f73e56171b4f

Contents?: true

Size: 755 Bytes

Versions: 68

Compression:

Stored size: 755 Bytes

Contents

class RomanNumerals {
  static arabicToRomanConversions = [
    {arabic: 1000, roman: 'M'},
    {arabic: 900, roman: 'CM'},
    {arabic: 500, roman: 'D'},
    {arabic: 400, roman: 'CD'},
    {arabic: 100, roman: 'C'},
    {arabic: 90, roman: 'XC'},
    {arabic: 50, roman: 'L'},
    {arabic: 40, roman: 'XL'},
    {arabic: 10, roman: 'X'},
    {arabic: 9, roman: 'IX'},
    {arabic: 5, roman: 'V'},
    {arabic: 4, roman: 'IV'},
    {arabic: 1, roman: 'I'},
  ]

  static roman(n: number) {
    let result = ''

    this.arabicToRomanConversions.forEach((conversion) => {
        while (n >= conversion.arabic) {
          result += conversion.roman
          n -= conversion.arabic
        }
    })

    return result
  }
}

export default RomanNumerals

Version data entries

68 entries across 68 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.179 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.178 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.177 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.176 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.175 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.174 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.173 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.172 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.171 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.170 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.169 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.167 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.166 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.165 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.164 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.163 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.162 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.161 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts
trackler-2.2.1.160 tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts