Notice
Recent Posts
Recent Comments
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 캐치카페
- hackerrank
- github
- Baekjoon
- ubuntu
- 우분투
- 코로나19
- Docker
- 프로그래머스 파이썬
- 프로그래머스
- dacon
- 파이썬
- SW Expert Academy
- gs25
- 백준
- 금융문자분석경진대회
- Kaggle
- 더현대서울 맛집
- 맥북
- ChatGPT
- PYTHON
- leetcode
- 편스토랑
- Git
- Real or Not? NLP with Disaster Tweets
- 자연어처리
- 데이콘
- programmers
- AI 경진대회
- 편스토랑 우승상품
Archives
- Today
- Total
솜씨좋은장씨
[BaekJoon] 11722번 : 가장 긴 감소하는 부분 수열 (Python) 본문
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
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
| [BaekJoon] 1158번 : 요세푸스 문제 (Python) (0) | 2020.04.26 |
|---|---|
| [BaekJoon] 1463번 : 1로 만들기 (Python) (0) | 2020.04.25 |
| [Programmers] 완전탐색 : 카펫 (Python) (0) | 2020.04.23 |
| [BaekJoon] 2193번 : 이친수 (Python) (0) | 2020.04.22 |
| [BaekJoon] 2011번 : 암호코드 (Python) (0) | 2020.04.22 |
Comments