문제 설명
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][j]의 길이는 같습니다.
- 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;
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;
}
}
for문이 board의 길이만큼 순회합니다. 이는 배열의 행이 됩니다. for문이 board[i]의 길이만큼 순회합니다. 이는 배열의 열이 됩니다. 만약 i와 j를 더한 값이 k보다 작거나 같다면 answer에 board의 i번째 행, j번째 열의 원소를 더하기 할당합니다. 조건에 해당하지 않는 원소는 배제된 채 셈이 반복될 것입니다.
'프로그래머스 > Lv. 0(코딩 기초 트레이닝)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 배열의 길이에 따른 연산하기(Java) (0) | 2023.05.11 |
---|---|
[프로그래머스 코딩테스트] ad 제거하기(Java) (0) | 2023.05.11 |
[프로그래머스 코딩테스트] 원하는 문자열 찾기(Java) (0) | 2023.05.10 |
[프로그래머스 코딩테스트] 1로 만들기(Java) (0) | 2023.05.10 |
[프로그래머스 코딩테스트]조건에 맞게 수열 변환하기 1(Java) (1) | 2023.05.09 |