본문 바로가기
CodeSignal

arrayMaximalAdjacentDifference

by Doromi 2023. 12. 11.
728x90
반응형
주어진 정수 배열에서 인접한 두 요소 간의 최대 절대 차이를 찾는 문제입니다. 즉, 배열에서 연이은 두 요소를 선택하여 그 차이의 절대값이 최대가 되는 경우를 찾아야 합니다.
int solution(int[] inputArray) {
    int max = 0;
    for(int i = 1;i<inputArray.Length-1;i++){
        if(Math.Abs(inputArray[i-1]-inputArray[i]) > max){
            max = Math.Abs(inputArray[i-1]-inputArray[i]);
        }
        if(Math.Abs(inputArray[i+1]-inputArray[i]) > max){
            max = Math.Abs(inputArray[i+1]-inputArray[i]);
        }
    }
    return max;
}
max 변수를 초기화합니다. 이 변수는 현재까지 찾은 최대 절대 차이를 저장합니다.

배열을 인덱스 1부터 시작하여 끝에서 두 번째 요소까지 반복합니다.

각 반복에서 현재 요소와 그 이전 요소 간의 차이(Math.Abs(inputArray[i-1]-inputArray[i]))를 계산하고, 이 차이가 현재까지의 최대 차이보다 크면 max 값을 업데이트합니다.
동시에 현재 요소와 그 다음 요소 간의 차이(Math.Abs(inputArray[i+1]-inputArray[i]))를 계산하고, 이 차이가 현재까지의 최대 차이보다 크면 max 값을 업데이트합니다.
반복이 끝나면 최대 차이인 max 값을 반환합니다.
728x90
반응형

'CodeSignal' 카테고리의 다른 글

Box Blur  (0) 2023.12.12
avoidObstacles  (0) 2023.12.12
isIPv4Address  (0) 2023.12.10
areEquallyStrong  (1) 2023.12.10
palindromeRearranging  (2) 2023.12.10