반응형
문자열 다루기 기본
문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
제한 사항- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
- s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
"a234" | false |
"1234" | true |
힌트가 필요한가요? [코딩테스트 연습 힌트 모음집]으로 오세요! → 클릭
- 공지 - 2022년 7월 22일 테스트케이스가 추가되었습니다.
- 공지 - 2022년 7월 22일 제한 사항이 추가되었습니다.
나의 풀이
func solution(_ s:String) -> Bool {
if(s.count == 4 || s.count == 6) {
let result = s.description.map { $0 }.filter { $0.isNumber }.count == s.count ? true : false
return result
}
return false
}
고차함수를 사용하여서 4/6 을 필터하고 숫자만 있는지 유무를 확인하고 bool값을 반환하는 코드를 구현하였습니다
다른 사람의 풀이
func solution(_ s:String) -> Bool {
return (Int(s) != nil && (s.count == 4 || s.count == 6)) ? true : false
}
Int로 반환했을때 nil로 반환되는지 유무를 판단하는건.. 생각해볼법만 했는데 생각못했다는거에
현타가왔다..
반응형
'Programmers > LV1.' 카테고리의 다른 글
Lv1 | Swift -최대공약수와 최소공배수 (0) | 2024.07.10 |
---|---|
Lv1 | Swift - 행렬의 덧셈 (0) | 2024.07.04 |
Lv1 | Swift - 부족한 금액 계산하기 (0) | 2024.07.02 |
Lv1 | Swift - 문자열 내림차순으로 배치하기 (0) | 2024.07.01 |
Lv1 | Swift - 약수의 개수와 덧셈 (0) | 2024.06.28 |