TIL #10

loci·2024년 5월 9일
0

TIL

목록 보기
9/103

숫자와 문자를 구문해서 단어를 변경하는 문제


나의 풀이

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를 이용해서 해당 문자를 바꿔주면 쉽게 풀수있다.

profile
편리한 개발자

0개의 댓글