티스토리 뷰

코딩테스트

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, +) }

 

 

알게 된 것

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

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

'코딩테스트' 카테고리의 다른 글

Lv.0 Swift 점의 위치 구하기  (0) 2024.03.18
Lv.0 swift 세균 증식  (0) 2024.03.17
Lv.0 Swift 각도기  (0) 2024.03.17
Lv.0 swift 두 수의 나눗셈  (1) 2024.03.17
11월 7일 제일 작은 수 제거하기  (0) 2023.11.08
최근에 올라온 글