https://school.programmers.co.kr/learn/courses/30/lessons/181829
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제
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 |
입출력 예 #1
- 입출력 예 #1의
board
를 표로 나타내면 다음과 같습니다.
i \ j | 0 | 1 | 2 |
---|---|---|---|
0 | 0 | 1 | 2 |
1 | 1 | 2 | 3 |
2 | 2 | 3 | 4 |
3 | 3 | 4 | 5 |
i
+j
가 2보다 작거나 같은 항들의 합은 0 + 1 + 2 + 1 + 2 + 2 = 8이므로 8을 return 합니다.
풀이
import java.util.stream.IntStream;
class Solution {
public int solution(int[][] board, int k) {
return IntStream.range(0, board.length)
.flatMap(i -> IntStream.range(0, board[i].length)
.filter(j -> i + j <= k)
.map(j -> board[i][j]))
.sum();
}
}
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr
'코딩 테스트 (Java) > 코딩 기초 트레이닝 (프로그래머스)' 카테고리의 다른 글
코딩 기초 트레이닝 문제 풀이 완료 ! (0) | 2025.04.23 |
---|---|
181830. 정사각형으로 만들기 (0) | 2025.04.23 |
181831. 특별한 이차원 배열 2 (0) | 2025.04.23 |
181832. 정수를 나선형으로 배치하기 (0) | 2025.04.23 |
181833. 특별한 이차원 배열 1 (0) | 2025.04.23 |