Name | Language | Tokens Sum | Tokens Part 1 | Tokens Part 2 | Last change | |
---|---|---|---|---|---|---|
1 | Ruby | 148 | 36 | 112 | 8 months ago | |
2 | ![]() |
Python | 208 | 45 | 163 | 8 months ago |
3 | Python | 209 | 43 | 166 | 8 months ago | |
4 | Kotlin | 212 | 52 | 160 | 8 months ago | |
5 | Python | 217 | 56 | 161 | 8 months ago | |
6 | GXgaetjen | Kotlin | 232 | 78 | 154 | 9 months ago |
7 | Kotlin | 261 | 60 | 201 | 9 months ago | |
8 | ![]() |
C++ | 290 | 74 | 216 | 8 months ago |
9 | Python | 348 | 129 | 219 | 8 months ago | |
10 | ![]() |
Java | 527 | 189 | 338 | 8 months ago |
11 | Python | 10043 | 43 | - | 8 months ago | |
12 | Kotlin | 10048 | 48 | - | 8 months ago | |
13 | ![]() |
Python | 10067 | 67 | - | 8 months ago |
14 | ![]() |
Java | 10115 | 115 | - | 8 months ago |
fun
main
(
)
{
val
spelledOutDigits
=
"
o
n
e
|
t
w
o
|
t
h
r
e
e
|
f
o
u
r
|
f
i
v
e
|
s
i
x
|
s
e
v
e
n
|
e
i
g
h
t
|
n
i
n
e
"
.
split
(
"
|
"
)
.
mapIndexed
{
index
,
string
->
string
to
(
index
+
1
)
.
toString
(
)
}
.
toMap
(
)
val
allDigits
=
(
spelledOutDigits
.
keys
+
spelledOutDigits
.
values
)
.
toList
(
)
println
(
generateSequence
(
::
readLine
)
.
sumOf
{
val
first
=
it
.
findAnyOf
(
allDigits
)
!!
.
second
// The string might end with "eighthree", in that case we want to find "three", so use findLastAnyOf()
val
last
=
it
.
findLastAnyOf
(
allDigits
)
!!
.
second
// Make sure to replace "one" with "1", etc.
(
(
spelledOutDigits
[
first
]
?:
first
)
+
(
spelledOutDigits
[
last
]
?:
last
)
)
.
toInt
(
)
}
)
}