반응형
문제
- 문제 링크: 정수 삼각형
해설
- 자료구조:
- 시간복잡도:
(풀이과정)
1)
2)
3)
4)
코드
(C언어)
solution 1)
더보기
#include<>
solution 2)
더보기
#include<>
solution 3)
더보기
#include<>
(C++)
solution 1)
더보기
#include<>
solution 2)
더보기
#include<>
solution 3)
더보기
#include<>
(C#)
solution 1)
더보기
#include<>
solution 2)
더보기
#include<>
solution 3)
더보기
#include<>
(Java)
solution 1)
- N: 삼각형의 높이
- N*N 2차원 dp 테이블 초기화할 떄 시간 복잡도: O(N^2)
- dp 테이블을 채우는 동작: O(N^2)
- 최종 시간 복잡도: O(N^2)
더보기
class Solution {
public int solution(int[][] triangle) {
int n = triangle.length;
int[][] dp = new int[n][n]; // dp 배열 초기화
// dp 배열의 맨 아래쪽 라인 초기화
for (int i = 0; i < n; ++i) {
dp[n - 1][i] = triangle[n - 1][i];
}
// 아래쪽 라인부터 올라가면서 dp 배열 채우기
for (int i = n - 2; i >= 0; --i) {
for (int j = 0; j <= i; ++j) {
dp[i][j] = Math.max(dp[i + 1][j], dp[i + 1][j + 1]) + triangle[i][j];
}
}
return dp[0][0]; // 꼭대기에서의 최댓값 반환
}
}
solution 2)
더보기
#include<>
solution 3)
더보기
#include<>
(Python)
solution 1)
- N: 삼각형의 높이
- N*N 2차원 dp 테이블 초기화: O(N^2)
- dp 테이블을 채우는 동작: O(N^2)
- 최종 시간 복잡도: O(N^2)
더보기
def solution(triangle):
n = len(triangle)
dp = [[0] * n for _ in range(n)] # dp 테이블 초기화
# dp 테이블의 맨 아래쪽 라인 초기화
for i in range(n):
dp[n - 1][i] = triangle[n - 1][i]
# 아래쪽 라인부터 올라가면 dp 테이블 채우기
for i in range(n - 2, -1, -1):
for j in range(i + 1):
dp[i][j] = max(dp[i + 1][j], dp[i + 1][j + 1]) + triangle[i][j]
return dp[0][0] # 꼭대기에서의 최댓값 반환
solution 2)
더보기
import
solution 3)
더보기
import
(JavaScript)
solution 1)
- N: 삼각형의 높이
- N*N 크기의 2차원 dp 테이블 초기화: O(N^2)
- dp 테이블을 채우는 동작: O(N^2)
- 최종 시간 복잡도: O(N^2)
더보기
function solution(triangle) {
const n = triangle.length;
const dp = Array.from(Array(n), () => Array(n).fill(0)); // dp 테이블 초기화
// dp 테이블의 맨 아래쪽 라인 초기화
for (let i = 0; i < n; ++i) {
dp[n - 1][i] = triangle[n - 1][i];
}
// 아래쪽 라인부터 올라가면서 dp 테이블 채우기
for (let i = n - 2; i >= 0; --i) {
for (let j = 0; j <= i; ++j) {
dp[i][j] = Math.max(dp[i + 1][j], dp[i + 1][j + 1]) + triangle[i][j];
}
}
return dp[0][0]; // 꼭대기에서의 최댓값 반환
}
solution 2)
더보기
import
solution 3)
더보기
import
반응형
'1-4. 코딩테스트 문제집(진행중) > PCCP(Lv3)' 카테고리의 다른 글
[PCCP] Lv3: 기지국 설치(12979) 해설 (0) | 2024.12.25 |
---|---|
[PCCP] Lv3: 사라지는 발판(92345) 해설 (0) | 2024.12.25 |
[PCCP] Lv3: 외벽 점검(60062) 해설 (0) | 2024.12.25 |
[PCCP] Lv3: 경주로 건설(67259) 해설 (0) | 2024.12.25 |
[PCCP] Lv3: 양과 늑대(92343) 해설 (0) | 2024.12.25 |