inblog logo
|
silver
    알고리즘문제풀기

    [알고리즘문제풀기] 이차원 배열 대각선 순회하기

    silver's avatar
    silver
    Sep 05, 2025
    [알고리즘문제풀기] 이차원 배열 대각선 순회하기
    Contents
    문제내가 작성한 정답다른 사람들의 정답

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/181829

    내가 작성한 정답

    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[0].length; j++){ answer += (i+j<= k)? board[i][j]: 0; } } return answer; } }

    다른 사람들의 정답

    class Solution { public static int solution(int[][] board, int k) { return IntStream.range(0, board.length) .filter(i -> i <= k) // map으로 각 i에 대해 내부 IntStream 생성: .map(i -> IntStream.range(0, board[i].length) // filter로 j가 k - i 이하인 경우만 필터링 (대각선 이하 영역만 대상) .filter(j -> j <= k - i) // map으로 board[i][j] 값을 가져와서 sum()으로 해당 행의 조건에 맞는 열들의 합을 구함 .map(j -> board[i][j]) .sum()) .sum(); // 최종적으로 외부 sum()으로 모든 i에 대해 누적 합산 } }
    Share article

    silver

    RSS·Powered by Inblog