Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
|
|
@ -0,0 +1,28 @@
|
|||
func rtoa(var str: String) -> Int {
|
||||
|
||||
var result = 0
|
||||
|
||||
for (value, letter) in
|
||||
[( 1000, "M"),
|
||||
( 900, "CM"),
|
||||
( 500, "D"),
|
||||
( 400, "CD"),
|
||||
( 100, "C"),
|
||||
( 90, "XC"),
|
||||
( 50, "L"),
|
||||
( 40, "XL"),
|
||||
( 10, "X"),
|
||||
( 9, "IX"),
|
||||
( 5, "V"),
|
||||
( 4, "IV"),
|
||||
( 1, "I")]
|
||||
{
|
||||
while str.hasPrefix(letter) {
|
||||
result += value
|
||||
str = str[advance(str.startIndex, count(letter)) ..< str.endIndex]
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
println(rtoa("MDCLXVI")) // 1666
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
func rtoa(var str: String) -> Int {
|
||||
|
||||
var result = 0
|
||||
|
||||
for (value, letter) in
|
||||
|
||||
[ ( 1000, "M"),
|
||||
( 900, "CM"),
|
||||
( 500, "D"),
|
||||
( 400, "CD"),
|
||||
( 100, "C"),
|
||||
( 90, "XC"),
|
||||
( 50, "L"),
|
||||
( 40, "XL"),
|
||||
( 10, "X"),
|
||||
( 9, "IX"),
|
||||
( 5, "V"),
|
||||
( 4, "IV"),
|
||||
( 1, "I")]
|
||||
{
|
||||
while str.hasPrefix(letter) {
|
||||
|
||||
let first = str.startIndex
|
||||
let count = letter.characters.count
|
||||
str.removeRange(first ..< first.advancedBy(count))
|
||||
|
||||
result += value
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
print(rtoa("MDCLXVI")) // 1666
|
||||
Loading…
Add table
Add a link
Reference in a new issue