import Foundation
struct IntegerToRoman {
static func intToRoman(_ num: Int) -> String {
let values = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]
let symbols = ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"]
var n = num
var roman = ""
for (value, symbol) in zip(values, symbols) {
while n >= value {
n -= value
roman.append(contentsOf: symbol)
}
}
return roman
}
}
print(IntegerToRoman.intToRoman(1994))
print(IntegerToRoman.intToRoman(196))
print(IntegerToRoman.intToRoman(9))
/*
run:
MCMXCIV
CXCVI
IX
*/