개인 공부/프로그래머스

[프로그래머스] 다음에 올 숫자 swift

임구마🍠 2024. 6. 18. 16:31


 

나의 풀이

import Foundation

func solution(_ common:[Int]) -> Int {
    let sub = common[2] - common[1] == common[1] - common[0] ? true : false
    return sub ? common.last! + (common[2] - common[1]) : common.last! * (common[2] / common[1])
}

- 문제에서 common 배열의 길이는 2 보다 크므로 배열 개수는 무조건 3개 이상

- 첫번째 + 두번째, 두번째 + 세번째 항의 공차를 구해서 같은지 비교

- 문제에서 등차수열 혹은 등비수열이 아닌 경우는 없다 했으므로 공차가 같다면 등차수열 다르다면 등비수열

- 등차수열인지 등비수열인지 판단 후 마지막 원소 다음으로 올 값 계산 후 리턴

 

 

다른 사람의 풀이