본문 바로가기
코딩테스트 연습

이차원 배열 대각선 순회하기

by 신재은👩🏼‍💻 2024. 4. 19.

문제 설명
2차원 정수 배열 board와 정수 k가 주어집니다.

i + j <= k를 만족하는 모든 (i, j)에 대한 board[i][j]의 합을 return 하는 solution 함수를 완성해 주세요.

제한사항
1 ≤ board의 길이 ≤ 100
1 ≤ board[i]의 길이 ≤ 100
1 ≤ board[i][j] ≤ 10,000
모든 board[i]의 길이는 같습니다.
0 ≤ k < board의 길이 + board[i]의 길이


입출력 예
board k result
[[0, 1, 2],[1, 2, 3],[2, 3, 4],[3, 4, 5]] 2 8


class Solution {
    public int solution(int[][] board, int k) {
        int answer = 0;
        int row = board.length;
        int column = 0;
        
        for(int i=0; i<row; i++) {
            for(int j=0; j<board[i].length; j++) {
                if(i+j <= k) {
                    answer += board[i][j];
                }
            }
        }
        
        return answer;
    }
}


이 문제도 정~말 많은 사람들이 다양한 방법으로 풀었던데

나는 직관적이고 이해하기 쉬운 내 방식도 나쁘지 않은 것 같다.

'코딩테스트 연습' 카테고리의 다른 글

빈 배열에 추가, 삭제하기  (0) 2024.04.19
날짜 비교하기  (0) 2024.04.19
중복된 문자 제거  (0) 2024.04.19
세로 읽기  (0) 2024.04.18
369게임  (0) 2024.04.18