자바스크립트

[JavaScript] 프로그래머스 이차원 배열 대각선 순회하기

코딩하는둥이 2024. 7. 31. 20:23
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명

2차원 정수 배열 board와 정수 k가 주어집니다. i + j <= k를 만족하는 모든 (i, j)에 대한 board[i][j]의 합을 return 하는 solution 함수를 완성해 주세요.

 

입출력 예

board k result
[[0, 1, 2],[1, 2, 3],[2, 3, 4],[3, 4, 5]] 2 8

 

코드

const solution = (board, k) => {
  var answer = 0;
  for (let i = 0; i < board.length; i += 1) {
    for (let j = 0; j < board[0].length; j += 1) {
      if (i + j <= k) {
        answer += board[i][j];
      }
    }
  }
  return answer;
}

 

설명

1) for 반복문을 사용하여 외부반복문은 board의 행을 반복하고 내부 반복문은 board의 열을 반복합니다. 

2) 현재 행과 인덱스와 열 인덱스의 합이 k 이하면 board[i][j]에 있는 값을 answer에 더합니다.

3) 모든 반복이 끝난 후 answer 변수를 반환합니다.