[프로그래머스 Level 2] 땅따먹기
1분 읽기
풀이 1:
function solution(land) {
const m = land.length; // N행
const n = 4; // 4열
const table = Array.from({ length: m }, () => new Array(n));
table[0] = land[0];
for(let i = 1; i < m; i++){
for(let j = 0; j < n; j++){
table[i][j] = Math.max(...(table[i-1].filter((_, index) => index !== j))) + land[i][j];
}
}
return Math.max(...table[m-1]);
}Review
제한사항
- 행의 개수 N : 100,000 이하의 자연수
- 열의 개수는 4개이고, 땅(land)은 2차원 배열로 주어집니다.
- 점수 : 100 이하의 자연수
DP8편 중 6번째
관련 글
4분 읽기
소수 구하기
소수 판별법과 소수를 구하는 알고리즘을 정리합니다.
1분 읽기
[프로그래머스 Level 2] 미로 탈출
프로그래머스 미로 탈출을 BFS로 풀이합니다.
1분 읽기
[프로그래머스 Level 2] 마법의 엘리베이터
프로그래머스 마법의 엘리베이터를 자리수 그리디로 풀이합니다.