문제 설명

문자열에 있는 영어로된 숫자를 진짜 숫자로 바꾸어서 Int 형으로 반환한다.

문제 풀이

나의 풀이

import Foundation

let number:Dictionary<String, String> = ["zero" : "0", "one" : "1", "two" : "2", "three" : "3", "four" : "4", "five" : "5", "six" : "6", "seven" : "7", "eight" : "8", "nine" : "9"]

func solution(_ s:String) -> Int {
    var answer:String = ""
    var word:String = ""
    for index in s.indices{
        if s[index] >= "0" && s[index] <= "9"{
            answer.append(s[index])
        }else{
            word.append(s[index])
            if number[word] != nil{
                answer.append(number[word]!)
                word = ""
            }
        }

    }
    return Int(answer)!
}

다른 사람의 풀이

import Foundation


func solution(_ s:String) -> Int {
    var answer:String = s
    answer = answer.replacingOccurrences(of: "zero", with: "0")
    answer = answer.replacingOccurrences(of: "one", with: "1")
    answer = answer.replacingOccurrences(of: "two", with: "2")
    answer = answer.replacingOccurrences(of: "three", with: "3")
    answer = answer.replacingOccurrences(of: "four", with: "4")
    answer = answer.replacingOccurrences(of: "five", with: "5")
    answer = answer.replacingOccurrences(of: "six", with: "6")
    answer = answer.replacingOccurrences(of: "seven", with: "7")
    answer = answer.replacingOccurrences(of: "eight", with: "8")
    answer = answer.replacingOccurrences(of: "nine", with: "9")
    return Int(answer)!
}

소 감

문제를 다 풀고 다른사람은 얼마나 참신하게 풀었을까 궁금함에 들어갔다가 후회했다..

함수 하나로 너무 쉽게 문제를 해결했다.

replacingOccurences 함수 꼭 기억해서 코딩테스트때 써먹자

문제 바로가기

profile
Swift와 함께 여행중입니다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN