반응형
https://leetcode.com/problems/matrix-diagonal-sum/description/
index를 다뤄 정답을 구해보는 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
1. 정사각형 matrix의 한 변 sideLength를 선언 후 mat.size()값을 저장합니다.
2. 정답 변수 sum을 선언 후 0으로 초기화해줍니다.
📔 풀이과정
1. mat의 원소를 ↘ 방향으로 순회하며 원소를 sum에 더해줍니다. 단, 홀수라면 중복으로 값이 더해지므로 더하지 않고 건너뛰어 줍니다.
2. mat의 원소를 ↗ 방향으로 순회하며 원소를 sum에 더해줍니다.
📔 정답 출력 | 반환
sum을 반환합니다.
📕 Code
📔 C++
class Solution {
public:
int diagonalSum(vector<vector<int>>& mat) {
int sideLength = mat.size();
int sum = 0;
for(int i = 0; i < sideLength; i++) {
if (sideLength % 2 && i == sideLength / 2) continue;
sum += mat[i][i];
}
for(int i = 0; i < sideLength; i++) {
sum += mat[sideLength - i - 1][i];
}
return sum;
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - LeetCode (easy) 1603. Design Parking System (0) | 2024.05.09 |
---|---|
(C++) - LeetCode (easy) 1598. Crawler Log Folder (0) | 2024.05.08 |
(C++) - LeetCode (easy) 1560. Most Visited Sector in a Circular Track (0) | 2024.04.26 |
(C++) - LeetCode (easy) 1556. Thousand Separator (0) | 2024.04.25 |
(C++) - LeetCode (easy) 1550. Three Consecutive Odds (0) | 2024.04.24 |