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 |