Developer. Designer

프로그래머스 기초트레이닝 Day25-4

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

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


function solution(board, k) {
  var answer = 0;
  const rows = board.length;
  const columns = board[0].length;

  for (let i = 0; i < rows; i++) {
    for (let j = 0; j < columns; j++) {
      if (i + j <= k) {
        answer += board[i][j];
      }
    }
  }

  return answer;
}

const rows = board.length; 및 const columns = board[0].length;: 주어진 배열의 행과 열의 개수를 저장합니다.

for (let i = 0; i < rows; i++) { for (let j = 0; j < columns; j++) { … }: 중첩된 반복문을 사용하여 모든 배열 원소에 접근합니다.

if (i + j <= k) { answer += board[i][j]; }: 조건 i + j <= k를 만족하는 경우에만 해당 원소의 값을 answer에 더합니다.

return answer;: 최종적으로 계산된 합계를 반환합니다.

이 함수를 예시로 든 배열과 k에 적용하면, 주어진 조건을 만족하는 (i, j)에 대한 board[i][j]의 합을 계산하고 결과를 반환합니다.