코딩테스트
Lv.0 swift 짝수의 합
알롱도담쓰
2024. 3. 17. 22:05
문제 설명
정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.
제한 조건
0 < n ≤ 1000
내 답안
func solution(_ n:Int) -> Int {
return Array(1...n).filter { $0 % 2 == 0 }.reduce(0) {$0 + $1}
}
접근 방법
- 1부터 n까지 짝수 걸러내기
- 걸러낸 배열을 다 더하기
다른 풀이
func solution(_ n: Int) -> Int { (0...n).filter { $0 % 2 == 0 }.reduce(0, +) }
알게 된 것
배열을 만들지 않고 범위연산자를 써서 범위로 묶은 뒤 고차함수를 쓸 수 있는 방법을 기록해두고 싶었음
또한 범위연산자만을 썼을 경우에는 컬렉션이 아니기 때문에 당연히 시간적으로도 더 빠르다