알고리즘 공부/프로그래머스

[Swift] 알고리즘 공부 - 문자열 다루기 기본

그거어 2023. 3. 30. 14:38
반응형

문제 설명

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

 

제한 사항

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.

 

입출력 예

s                                 return
"a234" false
"1234" true

 

설명

1. 먼저 글자수가 4,6인지 확인. 아닐시 false 리턴

2. s를 대문자 소문자로 바꿧을때 기본 s와 같으면 true 아니면 false 리턴

 

func solution(_ s:String) -> Bool {
    if s.count == 4 || s.count == 6 { 
    	return s == s.uppercased() && s == s.lowercased() ? true : false 
    } else { 
    return false 
    }
}

 

문제를 풀면서 문자열에 숫자만 있는지 확인할 수 있는 함수가 있을텐데 라고 생각햇지만 몰라서 저런 방식을 풀었다.

다른사람의 풀이를 보니 형변환인 Int(s)를 사용해서 s가 모두 숫자면 Int를 반환하고 아니면 nil을 반환하는 방식을 사용해서 문제를 해결했다.

반응형