ํฐ์คํ ๋ฆฌ ๋ทฐ
dev/algorithm
BOJ / 11055๋ฒ / ๊ฐ์ฅ ํฐ ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด [Go][Python3]
crscnt 2021. 3. 31. 21:00๐ฉ๐ป๐ป ๋ฌธ์
11055๋ฒ: ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์์ด
์์ด A๊ฐ ์ฃผ์ด์ก์ ๋, ๊ทธ ์์ด์ ์ฆ๊ฐ ๋ถ๋ถ ์์ด ์ค์์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฒ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ฅผ ๋ค์ด, ์์ด A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} ์ธ ๊ฒฝ์ฐ์ ํฉ์ด ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์
www.acmicpc.net
โ๐ป ํ์ด
๐จ Go
// https://www.acmicpc.net/problem/11055
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var n int
fmt.Fscanln(reader, &n)
var a = make([]int, n)
for i := 0; i < n; i++ {
fmt.Fscanf(reader, "%d ", &a[i])
}
fmt.Fprintln(writer, longestAscendingSequenceSum(a))
}
func longestAscendingSequenceSum(sequence []int) (maxSum int) {
dp := make([]int, len(sequence)) // ๊ฐ ์์๊น์ง์ ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์์ด์ ํฉ์ ์ ์ฅํ๋ค
for i := 0; i < len(sequence); i++ {
maxDp := 0
for j := 0; j < i; j++ {
if sequence[j] < sequence[i] { // j, i ์์๊ฐ ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ํด๋นํ ๊ฒฝ์ฐ
if maxDp < dp[j] {
maxDp = dp[j] // j ์์๊น์ง์ ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์์ด์ ํฌ๊ธฐ๋ฅผ maxDp์ ๊ฐฑ์ ํ๋ค
}
}
}
dp[i] = maxDp + sequence[i]
if maxSum < dp[i] {
maxSum = dp[i]
}
}
return
}
๐จ Python3
# https://www.acmicpc.net/problem/11055
import sys
def longest_ascending_sequence_sum(sequence):
dp = [0 for _ in range(len(sequence))]
max_sum = 0
for i in range(len(sequence)):
max_dp = 0
for j in range(i):
if sequence[j] < sequence[i]:
max_dp = max(max_dp, dp[j])
dp[i] = max_dp+sequence[i]
max_sum = max(max_sum, dp[i])
return max_sum
if __name__ == "__main__":
n = int(sys.stdin.readline())
a = list(map(int, sys.stdin.readline().split()))
print(longest_ascending_sequence_sum(a))
728x90
'dev > algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ / 11725๋ฒ / ํธ๋ฆฌ์ ๋ถ๋ชจ ์ฐพ๊ธฐ [Go][Python3] (0) | 2021.04.02 |
---|---|
BOJ / 2343๋ฒ / ๊ธฐํ ๋ ์จ [Go][Python3] (0) | 2021.04.01 |
BOJ / 11722๋ฒ / ๊ฐ์ฅ ๊ธด ๊ฐ์ํ๋ ๋ถ๋ถ ์์ด [Go][Python3] (0) | 2021.03.30 |
BOJ / 10974๋ฒ / ๋ชจ๋ ์์ด [Go][Python3] (0) | 2021.03.29 |
BOJ / 2960๋ฒ / ์๋ผํ ์คํ ๋ค์ค์ ์ฒด [Go][Python3] (1) | 2021.03.28 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ
TAG
- ์๊ฐ๊ต์ฒด
- ์๋ฐ
- python3
- Golang
- ํ๋ก์ด๋์์ฌ
- Macbook pro 2012 mid 13
- dp
- AWS
- java
- ์ด๋ถํ์
- BOJ
- ๋ถํ ์ ๋ณต
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฐ๋
- ๋ชฝ๊ณ ๋๋น
- ๋ฐฑ์ค
- ๋งฅ๋ถํ๋ก
- ๋งฅ๋ถ
- dfs
- go
- MongoDB
- ๋งฅ๋ถ ์ ๊ทธ๋ ์ด๋
- ํด์๋งต
- ๋ธ๋ฃจํธํฌ์ค
- BFS
- ์คํ
- ํ
- baekjoon
- Algorithm
- ballet
- Total
- Today
- Yesterday