개인 공부/프로그래머스
[프로그래머스] 다음에 올 숫자 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개 이상
- 첫번째 + 두번째, 두번째 + 세번째 항의 공차를 구해서 같은지 비교
- 문제에서 등차수열 혹은 등비수열이 아닌 경우는 없다 했으므로 공차가 같다면 등차수열 다르다면 등비수열
- 등차수열인지 등비수열인지 판단 후 마지막 원소 다음으로 올 값 계산 후 리턴
다른 사람의 풀이