관리 메뉴

솜씨좋은장씨

[BaekJoon] 11722번 : 가장 긴 감소하는 부분 수열 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 11722번 : 가장 긴 감소하는 부분 수열 (Python)

솜씨좋은장씨 2020. 4. 24. 23:28
728x90
반응형

1일 1문제 78일차

오늘의 문제는 백준의 가장 긴 감소하는 부분 수열 입니다.

 

11722번: 가장 긴 감소하는 부분 수열

수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10}  이고, 길이는 3이다.

www.acmicpc.net

Solution

inputNum = int(input())
inputNums = input()
inputNums = inputNums.split()
inputNums = [int(num) for num in inputNums]
nc = [0] * (inputNum)
maxNum = 0

for i in range(0, inputNum):
    minNum = 0
    for j in range(0, i):
        if inputNums[i] < inputNums[j]:
            if minNum < nc[j]:
                minNum = nc[j]
    #print(inputNums, nc)
    nc[i] = minNum + 1
    if maxNum < nc[i]:
        maxNum = nc[i]
print(maxNum)
 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

 

Comments