짝수 홀수 개수
풀이 1 ▽
func solution(_ num_list:[Int]) -> [Int] {
// 주어진 정수 배열에서 홀수와 짝수의 개수를 세는 함수
var evenNumber = 0 // 짝수의 개수를 저장하는 변수
var oddNumber = 0 // 홀수의 개수를 저장하는 변수
for i in num_list {
if i % 2 == 0 {
evenNumber += 1 // 짝수일 경우, 짝수 개수를 1 증가
} else {
oddNumber += 1 // 홀수일 경우, 홀수 개수를 1 증가
}
}
// 최종적으로 짝수의 개수와 홀수의 개수를 배열로 반환
return [evenNumber, oddNumber]
}
풀이 2 ▽ (filter를 사용한 방법)
func solution(_ num_list:[Int]) -> [Int] {
// 정수 배열에서 짝수와 홀수의 개수를 세어 반환하는 함수
return [
num_list.filter{ $0 % 2 == 0 }.count,
// 짝수(나머지가 0)만 필터링하고, 그 개수를 세어 배열의 첫 번째 요소로 반환
num_list.filter{ $0 % 2 == 1 }.count
// 홀수만 필터링하고, 그 개수를 세어 배열의 두 번째 요소로 반환
]
}
filter 메소드의 클로저는 각 요소를 순회하며 단 하나의 인자(해당 요소)만을 받기 때문에, 여기서는 $0이 각 요소를 참조한다.
num_list.filter{ $0 % 2 == 0 }.count : 배열에서 짝수(나머지가 0인 경우)만 필터링하고, 그 개수를 세어 배열의 첫 번째 요소로 반환
num_list.filter{ $0 % 2 == 1 }.count : 배열에서 홀수(나머지가 1인 경우)만 필터링하고, 그 개수를 세어 배열의 두 번째 요소로 반환
'iOS 앱 개발자 프로젝트 > 알고리즘 코드카타' 카테고리의 다른 글
[Algorithm] a와 b 출력하기 (w/ Swift & Python) (0) | 2024.04.22 |
---|---|
[Algorithm] 추억 점수 (w/ Swift) (0) | 2024.04.14 |
[Algorithm] ad 제거하기 (w/ Swift & Python) (4) | 2024.04.10 |
[Algorithm] 콜라 문제 (w/ Swift) (2) | 2024.04.09 |
[Algorithm] 부족한 금액 계산하기 (w/ Swift) (0) | 2024.04.08 |