- Today
- Total
- Algorithm
- dp
- 벨λ§ν¬λ
- λ°±μλ
- tree
- μ‘Έμ μν
- spring
- database
- μλ£κ΅¬μ‘°
- μλ°μμ μ
- pytorch
- 그리λ
- OOP
- μμμ λ ¬
- BFS
- λ°±μ€
- λ¬Έλ²
- CS
- μΈν΄
- array
- PS
- νλ‘κ·Έλλ¨Έμ€
- μλ°
- ꡬν
- λ€μ΅μ€νΈλΌ
- leetcode
- java
- Graph
- MST
- λ°μ΄ν°λ² μ΄μ€
Partially Committed
[λ°±μ€ 1912] μ°μν© (JAVA) λ³Έλ¬Έ
1 μ΄ (μΆκ° μκ° μμ) | 128 MB | 115866 | 41697 | 29399 | 34.685% |
λ¬Έμ
nκ°μ μ μλ‘ μ΄λ£¨μ΄μ§ μμμ μμ΄μ΄ μ£Όμ΄μ§λ€. μ°λ¦¬λ μ΄ μ€ μ°μλ λͺ κ°μ μλ₯Ό μ νν΄μ ꡬν μ μλ ν© μ€ κ°μ₯ ν° ν©μ ꡬνλ €κ³ νλ€. λ¨, μλ ν κ° μ΄μ μ νν΄μΌ νλ€.
μλ₯Ό λ€μ΄μ 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 μ΄λΌλ μμ΄μ΄ μ£Όμ΄μ‘λ€κ³ νμ. μ¬κΈ°μ μ λ΅μ 12+21μΈ 33μ΄ μ λ΅μ΄ λλ€.
μ λ ₯
첫째 μ€μ μ μ n(1 ≤ n ≤ 100,000)μ΄ μ£Όμ΄μ§κ³ λμ§Έ μ€μλ nκ°μ μ μλ‘ μ΄λ£¨μ΄μ§ μμ΄μ΄ μ£Όμ΄μ§λ€. μλ -1,000λ³΄λ€ ν¬κ±°λ κ°κ³ , 1,000λ³΄λ€ μκ±°λ κ°μ μ μμ΄λ€.
μΆλ ₯
첫째 μ€μ λ΅μ μΆλ ₯νλ€.
N κ°μ μμλ₯Ό κ°μ§λ μμ΄μμ μ°μλ ν©μ ꡬνμμ λ ꡬν μ μλ ν© μ€ κ°μ₯ ν° κ°μ μΆλ ₯νλ©΄ λλ€.
dp[i] λ₯Ό μμμ΄ μ΄λμ§λ λͺ¨λ₯΄κ² μ§λ§ i λ²μ§Έ κΉμ§μ ν© μ€, κ°μ₯ μ΅λμ κ°μ΄λΌκ³ μ μνμ.
κ·Έλ¬λ©΄ μλμ κ°μ μ νμμ λ μ¬λ¦΄ μ μλ€.
dp[ i ] = Max ( dp[i-1] + arr[ i ] , arr[ i ] )
λ§λ‘ νμ΄μ μ€λͺ νλ©΄,
i λ²μ§ΈκΉμ§μ μ΅λ ν©μ
i - 1 λ²μ§ΈκΉμ§ ꡬν μ μλ μ΅λν©μ i λ²μ§Έμ κ°μ λν κ°κ³Ό
κ·Έλ₯ i λ²μ§Έ κ° νλλ₯Ό λΉκ΅νμμ λ λ ν° μͺ½μ΄λ€.
μ΄λ₯Ό ꡬννμ¬ dp table μ μ±μ΄ λ€, κ°μ₯ μ΅λμ κ°μ μΆλ ₯ν΄μ£Όλ©΄ ν΄κ²°λλ€.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int [] arr = new int[n];
int [] dp = new int[n];
for(int i = 0 ; i < n ; i++){
arr[i] = sc.nextInt();
}
dp[0] = arr[0];
for(int i = 1 ; i < n ; i++){
dp[i] = Math.max(dp[i-1]+arr[i], arr[i]);
}
int ans = dp[0];
for(int i = 1 ; i < n; i ++){
ans = Math.max(ans, dp[i]);
}
System.out.println(ans);
}
}
'π₯ Algorithm || λ¬Έμ νμ΄ > PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€ 2252] μ€ μΈμ°κΈ°(JAVA) (0) | 2023.01.17 |
---|---|
[λ°±μ€ 27210] μ μ λͺ¨μλ μ¬λΉ(JAVA) (0) | 2023.01.16 |
[λ°±μ€ 1043] κ±°μ§λ§(JAVA) - Union&Find (0) | 2023.01.16 |
[Algorithm] Palindrome Check (0) | 2022.10.26 |
[Algorithm] Non-Constructible Value (0) | 2022.10.25 |