나의 풀이
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개 이상
- 첫번째 + 두번째, 두번째 + 세번째 항의 공차를 구해서 같은지 비교
- 문제에서 등차수열 혹은 등비수열이 아닌 경우는 없다 했으므로 공차가 같다면 등차수열 다르다면 등비수열
- 등차수열인지 등비수열인지 판단 후 마지막 원소 다음으로 올 값 계산 후 리턴
다른 사람의 풀이
'개인 공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.1 문자열 내 마음대로 정렬하기 swift (0) | 2024.06.18 |
---|---|
[프로그래머스] Lv.1 두 정수 사이의 합 swift (0) | 2024.06.18 |
[프로그래머스] 연속된 수의 합 swift (0) | 2024.06.18 |
[프로그래머스] 문자열 밀기 swift (0) | 2024.06.18 |
[프로그래머스] 잘라서 배열로 저장하기 swift (0) | 2024.06.18 |