- Today
- Total
- OOP
- ๋ฐฑ์ค
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ฒจ๋งํฌ๋
- CS
- pytorch
- ๊ตฌํ
- dp
- MST
- ์๋ฐ์์ ์
- BFS
- ๊ทธ๋ฆฌ๋
- tree
- leetcode
- ๋ค์ต์คํธ๋ผ
- database
- ์๋ฐ
- ์๋ฃ๊ตฌ์กฐ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์กธ์ ์ํ
- ๋ฐฑ์๋
- ์์์ ๋ ฌ
- PS
- ์ธํด
- ๋ฌธ๋ฒ
- Algorithm
- java
- array
- Graph
- spring
Partially Committed
[๋ฐฑ์ค 1912] ์ฐ์ํฉ (JAVA) ๋ณธ๋ฌธ
์ฐ์ํฉ
https://www.acmicpc.net/problem/1912
1912๋ฒ: ์ฐ์ํฉ
์ฒซ์งธ ์ค์ ์ ์ n(1 โค n โค 100,000)์ด ์ฃผ์ด์ง๊ณ ๋์งธ ์ค์๋ n๊ฐ์ ์ ์๋ก ์ด๋ฃจ์ด์ง ์์ด์ด ์ฃผ์ด์ง๋ค. ์๋ -1,000๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค.
www.acmicpc.net
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 |