[Swift 알고리즘] 프로그래머스 LV1 - 03. 두 정수 사이의 합

Updated:

프로그래머스 코딩테스트 연습문제 LV1 - 03. 두 정수 사이의 합

두 정수 사이의 합

문제 설명

두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.

제한 조건

  • a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.
  • a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.
  • a와 b의 대소관계는 정해져있지 않습니다.

입출력 예

a b return
3 5 12
3 3 3
5 3 12

주어진 코드

func solution(_ a:Int, _ b:Int) -> Int64 {
    return 0
}

제출한 코드

func solution(_ a:Int, _ b:Int) -> Int64 {
    guard a != b else {
        return Int64(a)
    }


    var sum = 0
    if a > b {
        for i in b...a {
            sum += i
        }
    } else {
        for i in a...b {
            sum += i
        }
    }

    return Int64(sum)
}

다시 푼 코드

func solution(_ a:Int, _ b:Int) -> Int64 {
    let _a = a < b ? a : b
    let _b = a < b ? b : a

    var sum = 0

    for i in _a..._b {
        sum += i
    }

    return Int64(sum)
}

Leave a comment