코딩테스트

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. 1부터 n까지 짝수 걸러내기
  2. 걸러낸 배열을 다 더하기

다른 풀이

func solution(_ n: Int) -> Int { (0...n).filter { $0 % 2 == 0 }.reduce(0, +) }

 

 

알게 된 것

배열을 만들지 않고 범위연산자를 써서 범위로 묶은 뒤 고차함수를 쓸 수 있는 방법을 기록해두고 싶었음

또한 범위연산자만을 썼을 경우에는 컬렉션이 아니기 때문에 당연히 시간적으로도 더 빠르다