알고리즘
[Swift 알고리즘] - 문자열 다루기 기본(Programmers)
Peppo
2022. 10. 13. 13:48
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12918
문제 사진
내 풀이
func solution(_ s:String) -> Bool {
if s.count == 4 || s.count == 6 {
if Int(s) != nil {
return true
}
}
return false
}
solution("12a4")
Int로 변환시키는 Int()메서드를 사용하였습니다.
여기서 주의해야할 점은 String -> Int 로 변환시 숫자가 아닌 문자열이 들어갈 수도 있기때문에 Optional로 반환됩니다.
그래서 아래와 같이 nil 이 아닐경우 true를 리턴하게 해줬습니다.
if Int(s) != nil {
// code
}
다른사람의 풀이
func solution(_ s:String) -> Bool {
return (Int(s) != nil && (s.count == 4 || s.count == 6)) ? true : false
}
배운것
1. 문제를 천천히 읽어보자
s의 길이가 4 혹은 6 이라는 내용이 있는데, 4이상 6이하로 읽어서 테스트케이스에 실패했었다.
2. 꼭 옵셔널 바인딩이 아니라 != nil 도 상황에 따라 잘 사용하면 좋을것 같다.
728x90