Python에서 풀었던 아이디어와 동일하게 접근했습니다. 단지 문법만 다를 뿐 안의 프로세스는 동일합니다.
fun main(args: Array<String>) {
println(solution("one4seveneight"))
println(solution("23four5six7"))
println(solution("2three45sixseven"))
println(solution("123"))
}
fun solution(s: String): Int {
val dicNumber: HashMap<String, String>
dicNumber = hashMapOf(
"one" to "1",
"two" to "2",
"three" to "3",
"four" to "4",
"five" to "5",
"six" to "6",
"seven" to "7",
"eight" to "8",
"nine" to "9",
"zero" to "0"
)
var answer = ""
var stringNumber: String = ""
for (str in s) {
if (str.isDigit()) answer += str
else {
stringNumber += str
}
if (dicNumber.containsKey(stringNumber)) {
answer += dicNumber[stringNumber]
stringNumber = ""
}
}
return answer.toInt()
}
아직 코틀린이 익숙하지 않은지 저는 이렇게 푸는게 더 편하네요...
프로그래머스 IDE에서 제공하는 코드가 무슨 의미인지는 알지만, 아직은 이게 편합니다. 함수..형..
class Solution {
fun solution(s: String): Int {
}
}
이렇게 해서 main fun에서 instance 만들고 하는게 더 귀찮은거 같습니당..ㅋㅋ
다음에는 더 좋은 풀이로 찾아봽겠습니다!