본문 바로가기
코딩테스트/자바 Level 0

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

by onggury 2023. 7. 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]의 길이

 

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

처음에 잘못 이해해서 board[i] + board[j] <= k 조건을 생각했었다.

그냥 인덱스 번호끼리의 덧셈이였다.

 

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/181829