[프로그래머스 LV.1] Swift - 두 정수 사이의 합

David·2023년 5월 14일
0

알고리즘

목록 보기
4/4
post-thumbnail

첫 풀이를 하단과 같이 풀었는데, 시간 초과가 걸림.

func solution(_ a:Int, _ b:Int) -> Int64 {
    if a > b {
        return (b...a).reduce(0){Int64($0) + Int64($1)}
    } else {
        return (a...b).reduce(0){Int64($0) + Int64($1)}    
    }
    
}

다른 풀이를 참고해 하단과 같이 풀었다.

func solution(_ a:Int, _ b:Int) -> Int64 {
    return Int64((a>b ? b...a : a...b).reduce(0){$0 + $1})
}

풀이를 찾다 보니 고차함수로 풀면 훨씬 느리다는 말이 있어 단순 구현으로 제출해봄.

func solution(_ a:Int, _ b:Int) -> Int64 {
    var sum = 0
    for i in (a>b ? b...a : a...b) {
        sum += i
    }
    return Int64(sum)
}

0개의 댓글