Fascination
article thumbnail

[문제]

 

Diagonal Difference | HackerRank

Calculate the absolute difference of sums across the two diagonals of a square matrix.

www.hackerrank.com

 

 

[문제 설명]

- 배열에서 교차되는 수 2개(왼쪽에서 오른쪽 대각선 방향, 오른쪽에서 왼쪽 대각선 방향)의  합의 절댓값을  구하기

 

 

[문제  풀이]

-  for문을 사용하여 더해지는 배열 대각선 방향의 합을 구함

  > 왼쪽에서 오른쪽 방향 대각선의 합은: arr[i][i]를 사용하여 구할 수 있음

  > 오른쪽에서 왼쪽 방향 대각선의 합은: arr[i][size-1-i]를 사용하여 구할 수 있음

  * 이때 size는 배열의 행 혹은 열의 크기임 (정사각형 모양의 배열이기 때문에 크기가 같음)

 

 

[코드]

int diagonalDifference(vector<vector<int>> arr) {
    int  sum1=0, sum2=0;
    for(int i=0;i<arr.size();i++){
        sum1+=arr[i][i];
    }
    for(int j=0;j<arr.size();j++){
        sum2+=arr[j][arr.size()-1-j];
    }
    if(sum1-sum2<0) return sum2-sum1;
    else return sum1-sum2;
}

 

 

[실행결과]

profile

Fascination

@euna-319

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!