IOS/Swift Algorithm Level 1

Swift. 문자열을 정수로 바꾸기

 문제. 

문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.제한 조건

  • s의 길이는 1 이상 5이하입니다.
  • s의 맨앞에는 부호(+, -)가 올 수 있습니다.
  • s는 부호와 숫자로만 이루어져있습니다.
  • s는 0으로 시작하지 않습니다.

입출력 예

예를들어 str이 1234이면 1234를 반환하고, -1234이면 -1234를 반환하면 됩니다.
str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.

func solution(_ s:String) -> Int {
 return s.first == "-" ? -1 * Int(String(Array(s)[1..<s.count]))! : Int(s)!
}

요구사항.

1. 간단하게 문자열을 정수로 바꾸는 것이였지만 역시 배울것이 있었다.

2. 문자열을 숫자로 바꿀경우 리턴되는 값은 Int? 타입이다. 따라서 옵셔널을 언래핑해주거나 Int(s) ?? 대체값 으로 옵셔널을 표현해 주어야 한다. 

3. 위에서는 정수만이 들어오게 되므로 !로 언래핑 시켜주었다.

4. 나중에 안사실이지만 정수가 들어온다는 가정하에 그냥 Int(s)! 하면 -든 +든 다 올바르게 출력된다... ㅎㅎ...

'IOS > Swift Algorithm Level 1' 카테고리의 다른 글

Swift. 약수의 합  (0) 2020.10.20
Swift. 시저 암호  (0) 2020.10.19
Swift. 수박수박수...  (0) 2020.10.17
Swift. 소수 찾기  (0) 2020.10.16
Swift. 문자열 다루기 기본  (0) 2020.10.15