๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โŒจ๏ธ Language/swift

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0] ์ง์ˆ˜์˜ ํ•ฉ

by hyebin (Helia) 2022. 12. 27.
๋ฐ˜์‘ํ˜•

์ง์ˆ˜์˜ ํ•ฉ

๋ฌธ์ œ ์„ค๋ช…

์ •์ˆ˜ n์ด ์ฃผ์–ด์งˆ ๋•Œ, n์ดํ•˜์˜ ์ง์ˆ˜๋ฅผ ๋ชจ๋‘ ๋”ํ•œ ๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • 0 < n ≤ 1000

์ž…์ถœ๋ ฅ ์˜ˆ

n result
10 30
4 6

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • n์ด 10์ด๋ฏ€๋กœ 2 + 4 + 6 + 8 + 10 = 30์„ return ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • n์ด 4์ด๋ฏ€๋กœ 2 + 4 = 6์„ return ํ•ฉ๋‹ˆ๋‹ค.

์ œ์ถœ

import Foundation

func solution(_ n:Int) -> Int {
    var answer = 0
    for i in stride(from: 2 , through: n, by: 2){
        answer += i
    }
    return answer
}
2๋ถ€ํ„ฐ n๊นŒ์ง€ 2์”ฉ ์ฆ๊ฐ€ํ•˜๋ฉฐ ํ•ฉ์„ ๊ตฌํ•จ

๋‹ค๋ฅธ ํ’€์ด

func solution(_ n:Int) -> Int {
    return (0...n).filter { $0 % 2 == 0 }.reduce(0, +)
}
filter ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง์ˆ˜(2๋กœ ๋‚˜๋ˆด์„ ๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ 0์ธ ์ˆ˜)๋ฅผ ๊ตฌํ•œ ํ›„, reduce ํ•จ์ˆ˜๋กœ ํ•ฉ์„ ๊ตฌํ•จ

 

๋ฐ˜์‘ํ˜•