문자열 다루기
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이번 문제는 문자열 s가 길이가 4 또는 6이고, 숫자로만 구성되어 있는지 확인하는 거야.
간단하게 생각하면, 두 가지 조건을 체크하면 돼 !
- s의 길이가 4 또는 6인지.
- 모든 문자가 숫자인지.
func solution(_ s: String) -> Bool {
// 첫 번째 조건: s의 길이가 4 혹은 6인지 확인
if s.count == 4 || s.count == 6 {
// 두 번째 조건: s가 모두 숫자로만 이루어져 있는지 확인
// 모든 문자가 숫자인지 확인하는 방법으로 s의 문자들 중에서 숫자가 아닌 게 있는지 체크할 수 있어.
// isNumber를 쓰면 각 문자가 숫자인지 확인 가능해.
return s.allSatisfy { $0.isNumber }
}
// 길이가 4나 6이 아니면 false 리턴
return false
}
- 첫 번째 조건: if s.count == 4 || s.count == 6 — 먼저 문자열 s의 길이가 4 혹은 6인지 체크해. 만약 이 조건을 만족하지 않으면 바로 false를 반환할 거야.
- 두 번째 조건: s.allSatisfy { $0.isNumber } — 여기서 allSatisfy라는 메소드를 쓰는데, 이건 문자열의 모든 문자들이 주어진 조건(여기선 숫자인지 여부)을 만족하는지 확인하는 메소드야. $0.isNumber는 문자 하나하나가 숫자인지 확인하는 거고, 이게 모두 true면 전체가 숫자라는 거지.
- 최종 반환: 만약 길이 조건을 만족하고, 모든 문자가 숫자라면 true를 반환하고, 둘 중 하나라도 아니면 false를 반환하는 구조야.
예를 들어,
- s = "1234"일 때:
- 길이는 4고, 숫자로만 이루어져 있으니까 true를 반환.
- s = "a234"일 때:
- 숫자가 아닌 문자가 포함되어 있으니까 false를 반환.
이렇게 하면 문자열이 숫자로만 이루어져 있는지, 그리고 길이가 맞는지 쉽게 확인할 수 있어! ˶•⩊•˶
'iOS 앱 개발자 프로젝트 > 알고리즘 코드카타' 카테고리의 다른 글
[Algorithm] 배열 조각하기 (w/ Swift & Python) (2) | 2024.10.10 |
---|---|
[Algorithm] 마지막 두 원소 (w/ Swift) (8) | 2024.10.09 |
[Algorithm] 길이에 따른 연산 (w/ Swift) (5) | 2024.09.15 |
[Algorithm] 영어가 싫어요 (w/ Swift) (0) | 2024.09.15 |
[Algorithm] 배열 회전시키기(w/ Swift) (0) | 2024.09.06 |