1. 문제

 

연속된 두 요소의 차이가 같은 일련의 숫자들을 arithmetic progression(산술 수열)이라고 한다.

숫자로 이루어진 arr가 주어지고 arr가 arithmetic progression이라면 true를 반환하고 아니라면 false를 반환한다.

 

 


 

2. 풀이 과정

 

간단하게 Array.Sort()로 정렬 한번 해주고, for문으로 순회하면서 두 요소의 차이를 검사하고 차이가 다른 요소들이 있다면 false를 반환하면 된다.

 

public class Solution {
    public bool CanMakeArithmeticProgression(int[] arr) {
        Array.Sort(arr);
        int diff = arr[1] - arr[0];
        for(int i = 2, length = arr.Length; i < length; ++i)
        {
            if(arr[i] - arr[i - 1] != diff)
                return false;
        }

        return true;
    }
}

 

 

 

반응형