Programmers/LV1.

Lv1 | Swift - 문자열 다루기 기본

ziziDev 2024. 7. 3. 09:21
반응형
  1.  

문자열 다루기 기본

 

문제 설명

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

제한 사항
  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
입출력 예sreturn
"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로 반환되는지 유무를 판단하는건.. 생각해볼법만 했는데 생각못했다는거에

현타가왔다..

반응형