Algorithm Problem/Python
[python] SWEA - 3307. μ΅μ₯ μ¦κ° λΆλΆ μμ΄
deo2kim
2020. 12. 19. 20:45
λ°μν
π€λ¬Έμ ν΄κ²°
-
D3 | DP
π¨ [python] λ°±μ€ - 11055. κ°μ₯ ν° μ¦κ° λΆλΆ μμ΄
π¨ κ° μ«μλ§λ€ μ΄μ μ μ«μμ λΉκ΅νλ©΄μ μ μ κΈΈμ΄λ₯Ό λλ € λκ°λ€.
π»μμ€ μ½λ
# μ
λ ₯
T = int(input())
Ns = []
for tc in range(T):
N = int(input())
numbers = list(map(int, input().split()))
Ns.append((N, numbers))
# νμ΄ - DP
results = []
for tc in range(T):
N, numbers = Ns[tc]
# λλ²μ§Έ λΆν° λκΉμ§
# μμ μ μμͺ½μ μ«μλ€μ νμ
# νμ¬ μμ μ΄ λͺκ°μ μ°μλ μ¦κ°νλ λΆλΆ μμ΄μΈμ§ 체ν¬
# μ΄κΈ°ν: μμ νΌμ μ΄λ―λ‘ 1λ‘ μ΄κΈ°ν
dp = [0] * N
dp[0] = 1
for i in range(1, N):
for j in range(i - 1, -1, -1):
# λ§μ½ i μ μ«μλ³΄λ€ j μ μ«μκ° μμΌλ©΄ μ¦κ°νλ μμ΄μ
if numbers[i] > numbers[j]:
dp[i] = max(dp[i], dp[j])
dp[i] += 1
results.append(max(dp))
# μΆλ ₯
for tc in range(T):
print(f'#{tc + 1} {results[tc]}')
πλ¬Έμ νμΈ
μΆμ²: SW Expert Academy
SW Expert Academy
SW νλ‘κ·Έλλ° μλ κ°νμ λμμ΄ λλ λ€μν νμ΅ μ»¨ν μΈ λ₯Ό νμΈνμΈμ!
swexpertacademy.com
λ°μν