문제.
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.제한 사항
- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
풀이.
func solution(_ s:String) -> Bool {
if s.count == 4 || s.count == 6 {
let num = "0123456789"
let without = s.filter { num.firstIndex(of: $0) != nil }
return s.count == without.count
}
return false
}
풀고나서 보게된 풀이 (지식 +1)
func solution(_ s:String) -> Bool {
return (Int(s) != nil && (s.count == 4 || s.count == 6)) ? true : false
}
//어떻게 판별했나 보니 숫자만 있는 문자열이 아닌 문자열을 캐스팅 하면 nil이 나오게 되는것을 알았다.
'IOS > Swift Algorithm Level 1' 카테고리의 다른 글
Swift. 수박수박수... (0) | 2020.10.17 |
---|---|
Swift. 소수 찾기 (0) | 2020.10.16 |
Swift. 문자열 내림차순으로 배치하기 (0) | 2020.10.14 |
Swift. 3진수 뒤집기 (0) | 2020.10.13 |
Swift. 문자열 내 p와 y의 개수 (0) | 2020.10.12 |