2중 for문 안에 if 문을 통해 board의 자리를 나타내는 i와 j를 더하여 k보다 작거나 같으면 그 자리의 원소를 다 더하게 해주면 됩니다.
public class 이차원_배열_대각선_순회하기 {
public static void main(String[] args) {
/*
이차원 정수 배열 board와 정수 k가 매개변수로 주어집니다.
i + j <= k를 만족하는 모든 (i, j)에 대한
board[i][j]의 합을 출력하는 문제입니다.
board k result
[[0, 1, 2],[1, 2, 3],[2, 3, 4],[3, 4, 5]] 2 8
*/
int[][] board = {{0, 1, 2}, {1, 2, 3}, {2, 3, 4}, {3, 4, 5}};
int k = 2;
int answer = 0;
for (int i = 0; i < board.length; i++) {
for (int j = 0; j < board[i].length; j++) {
if (board[i][j] <= k) {
answer += board[i][j];
}
}
}
System.out.println(answer);
}
}
프로그래머스 코드
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;
}
}