티스토리 뷰
문제 설명
정수 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, +) }
알게 된 것
배열을 만들지 않고 범위연산자를 써서 범위로 묶은 뒤 고차함수를 쓸 수 있는 방법을 기록해두고 싶었음
또한 범위연산자만을 썼을 경우에는 컬렉션이 아니기 때문에 당연히 시간적으로도 더 빠르다
'코딩테스트' 카테고리의 다른 글
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 |
최근에 올라온 글