Focus On Develop 🤟🤟

[프로그래머스] 문자열을 정수로 바꾸기 본문

iOS [Swift]/알고리즘

[프로그래머스] 문자열을 정수로 바꾸기

누리달이틀 2020. 12. 21. 13:46

<문제>


<전략짜기>

String -> Int로 Casting시 문자가 포함되어 있으면 Casting이 안되니, 첫번째 문자를 확인해서 +, - 여부에 따라 분기처리 해주고 +,-에 해당되는 문자는 날리고 숫자로 Casting을 해주면 될 것 같다.

 

<코드>

func solution(_ s:String) -> Int {
    var s = s
    if s[s.startIndex] == "+" {
        s.remove(at: s.startIndex)
        return Int(s)!
    } else if s[s.startIndex] == "-" {
        s.remove(at: s.startIndex)
        return -Int(s)!
    } else {
        return Int(s)!
    }
}

 

<Lesson Learned>

지난번에 Swift로 알고리즘 문제를 풀면서, String -> Int로 Casting시 Optional인 이유가, String에 숫자가 아닌 문자가 들어있을 수 있어서.. 그럴 경우엔 Casting이 안되니까 Optional이라고 공부했었다..ㅎ 물론 이 부분은 변함이 없는 것은 맞는데, 오늘 새로 알게된 점은 String -> Int로 Casting시 '-', '+' 도 부호문자로, 숫자로 취급 가능해서 Casting에 성공한다는 것이다.. 즉.. 내 풀이의 +, - 분기처리 한 것은 전혀 필요 없었다는 뜻이기도 하다 😂😂

func solution(_ s:String) -> Int {
	return Int(s)!
}

 

알고리즘에서 사용된 String.Index가 궁금하다면?? 👉  2020/12/17 - [iOS [Swift]/기초를 탄탄히!] - [Swift] String.Index

 

 

출저 : 프로그래머스 문자열을 정수로 바꾸기

Comments