문제 설명
정수 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 합니다.Solution
import Foundation
func solution(_ n:Int) -> Int {
var sum = 0
for i in 1...n {
if i % 2 == 0 {
sum += i
}
}
return sum
}
Commentary
import Foundation
func sol(_ n:Int) -> Int {
//값을 담을 sum 변수선언
var sum = 0
//for ~ in 구문 사용
/*
for <루프 상수> in <순회 대상> {
<실행할 구문>
}
*/
for i in 1...n {
if i % 2 == 0 {
sum += i
}
/*
짝수의 합 구하기 위해
1.if 구문 사용해 1부터 n까지의 수 중
2로 나눴을 때 몫이 0인 수를 찾는다.
2.이 조건을 충족하면 정의해둔 sum변수 0에
앞선 루프에서 도출된 변수를 더한다.
3.이 과정이 for ~ in 구문 안에서
루핑되면 결과값을 도출할 수 있다.
*/
}
return sum
}
Another Solution / Commentary
//! 다른 사람의 풀이 !
import Foundation
func solution(_ n:Int) -> Int {
var sum = 0
for i in 1...n where i % 2 == 0 {
sum += i
}
return sum
}
/*
if문이 아닌 where절 사용해 더 간결한 코드를 짰다.
풀이 보고 서칭을 통해 알게 된 where절의 용도
1.Swift의 패턴들과 결합하여 조건을 추가할 수 있다.
2.타입에 대한 제약을 추가할 수 있다.
*/