숫자와 문자를 구문해서 단어를 변경하는 문제
나의 풀이
class Solution {
fun solution(s: String): Int {
var answer: Int = 0
var ss = ""
var result = ""
for(i in s){
if( i.toInt() > 57 ){
ss += i
when(ss){
"zero" -> {
result += "0"
ss = ""
}
"one" -> {
result += "1"
ss = ""
}
"two" -> {
result += "2"
ss = ""
}
"three" -> {
result += "3"
ss = ""
}
"four" -> {
result += "4"
ss = ""
}
"five" -> {
result += "5"
ss = ""
}
"six" -> {
result += "6"
ss = ""
}
"seven" -> {
result += "7"
ss = ""
}
"eight" -> {
result += "8"
ss = ""
}
"nine" -> {
result += "9"
ss = ""
}
}
} else {
result += i
}
}
return result.toInt()
}
}
when을 이용해서 하나하나 바꿔주었다.
다른사람의 풀이
class Solution {
fun solution(s: String): Int = s
.replace("one", "1")
.replace("two", "2")
.replace("three", "3")
.replace("four", "4")
.replace("five", "5")
.replace("six", "6")
.replace("seven", "7")
.replace("eight", "8")
.replace("nine", "9")
.replace("zero", "0")
.toInt()
}
replace를 이용해서 해당 문자를 바꿔주면 쉽게 풀수있다.