[JAVA 문제 풀이] 213. 이차원 배열 대각선 순회하기

프로그래머스 (181829)
Stupefyee's avatar
Apr 21, 2025
[JAVA 문제 풀이] 213. 이차원 배열 대각선 순회하기
notion image
 

내가 작성한 코드

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

다른 사람의 코드

import java.util.stream.IntStream; class Solution { public static int solution(int[][] board, int k) { return IntStream.range(0, board.length) // 0부터 board.length-1까지 .filter(i -> i <= k) // i가 k보다 작거나 같을 때만 .map(i -> IntStream.range(0, board[i].length) // 0부터 board[i].length-1까지 .filter(j -> j <= k - i) // j가 k-i보다 작거나 같을 때만 .map(j -> board[i][j]) .sum()) // board[i][j]의 합을 구함 .sum(); // 모든 i에 대해 구한 합을 더함 } }
 
Share article

stupefyee