728x90
Given an array of integers, find the maximal absolute difference between any two of its adjacent elements.
Example
For inputArray = [2, 4, 1, 0]
, the output should bearrayMaximalAdjacentDifference(inputArray) = 3
.
설명
두 원소의 절대값 차이가 가장 큰값을 리턴해라
풀이
차이값을 저장할 빈배열 arr 선언
원소의 차이들을 arr에 저장하는데 차이가 마이너스 값이면 -1을 곱해준 값을 저장
arr 최대값 리턴
func arrayMaximalAdjacentDifference(inputArray: [Int]) -> Int {
var arr = [Int]()
for i in 0 ..< inputArray.count - 1 {
if inputArray[i] - inputArray[i+1] < 0 {
arr.append((inputArray[i] - inputArray[i+1]) * -1)
} else {
arr.append(inputArray[i] - inputArray[i+1])
}
}
return arr.max()!
}
-1 곱하는 대신 abs 메소드를 사용하여 같은 결과를 받을 수 있다!
728x90
'알고리즘 > 코드시그널' 카테고리의 다른 글
Codesignal - avoidObstacles (0) | 2021.04.29 |
---|---|
Codesignal - arrayReplace (0) | 2021.04.29 |
Codesignal - arrayMaxConsecutiveSum (0) | 2021.04.29 |
Codesignal - arrayChange (0) | 2021.04.29 |
Codesignal - areSimilar (0) | 2021.04.29 |
댓글